diff --git a/barretenberg/cpp/src/barretenberg/constants.hpp b/barretenberg/cpp/src/barretenberg/constants.hpp index 53f097b30c4d..6d42cfa93f96 100644 --- a/barretenberg/cpp/src/barretenberg/constants.hpp +++ b/barretenberg/cpp/src/barretenberg/constants.hpp @@ -16,7 +16,7 @@ static constexpr uint32_t CONST_ECCVM_LOG_N = 16; // TODO(https://github.com/AztecProtocol/barretenberg/issues/1193): potentially reenable for better memory performance // static constexpr uint32_t MAX_LOOKUP_TABLES_SIZE = 80000; -static constexpr uint32_t MAX_DATABUS_SIZE = 10000; +static constexpr uint32_t MAX_DATABUS_SIZE = 30000; // The number of entries in ProverPolynomials reserved for randomness intended to mask witness commitments, witness // evaluation at the sumcheck challenge, and, if necessary, the evaluation of the corresponding shift diff --git a/barretenberg/cpp/src/barretenberg/plonk_honk_shared/execution_trace/mega_execution_trace.hpp b/barretenberg/cpp/src/barretenberg/plonk_honk_shared/execution_trace/mega_execution_trace.hpp index 42b0eb09ec0d..57d7ba7a705b 100644 --- a/barretenberg/cpp/src/barretenberg/plonk_honk_shared/execution_trace/mega_execution_trace.hpp +++ b/barretenberg/cpp/src/barretenberg/plonk_honk_shared/execution_trace/mega_execution_trace.hpp @@ -331,9 +331,9 @@ static constexpr TraceStructure EXAMPLE_20{ .ecc_op = 1 << 11, * @brief Structuring tailored to the full e2e TS test (TO BE UPDATED ACCORDINGLY) */ static constexpr TraceStructure E2E_FULL_TEST_STRUCTURE{ .ecc_op = 1 << 10, - .busread = 6000, + .busread = 17000, .lookup = 200000, - .pub_inputs = 4000, + .pub_inputs = 10000, .arithmetic = 200000, .delta_range = 25000, .elliptic = 80000, diff --git a/barretenberg/cpp/src/barretenberg/vm/aztec_constants.hpp b/barretenberg/cpp/src/barretenberg/vm/aztec_constants.hpp index 87225482c294..a4e2d4d48b84 100644 --- a/barretenberg/cpp/src/barretenberg/vm/aztec_constants.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/aztec_constants.hpp @@ -40,7 +40,6 @@ #define L2_TO_L1_MESSAGE_LENGTH 3 #define PARTIAL_STATE_REFERENCE_LENGTH 6 #define READ_REQUEST_LENGTH 2 -#define LOG_HASH_LENGTH 3 #define NOTE_HASH_LENGTH 2 #define NULLIFIER_LENGTH 3 #define PUBLIC_INNER_CALL_REQUEST_LENGTH 13 diff --git a/l1-contracts/src/core/RollupCore.sol b/l1-contracts/src/core/RollupCore.sol index 6272fa1010d6..ff3047762501 100644 --- a/l1-contracts/src/core/RollupCore.sol +++ b/l1-contracts/src/core/RollupCore.sol @@ -491,15 +491,11 @@ contract RollupCore is * * @param _args - The arguments to propose the block * @param _signatures - Signatures from the validators - * // TODO(#9101): The below _body should be removed once we can extract blobs. It's only here so the archiver can extract tx effects. - * @param - The body of the L2 block * @param _blobInput - The blob evaluation KZG proof, challenge, and opening required for the precompile. */ function propose( ProposeArgs calldata _args, Signature[] memory _signatures, - // TODO(#9101): Extract blobs from beacon chain => remove below body input - bytes calldata, bytes calldata _blobInput ) public override(IRollupCore) { if (canPrune()) { diff --git a/l1-contracts/src/core/interfaces/IRollup.sol b/l1-contracts/src/core/interfaces/IRollup.sol index 864f20504d16..dcac33cc0e31 100644 --- a/l1-contracts/src/core/interfaces/IRollup.sol +++ b/l1-contracts/src/core/interfaces/IRollup.sol @@ -112,7 +112,6 @@ interface IRollupCore { function propose( ProposeArgs calldata _args, Signature[] memory _signatures, - bytes calldata _body, bytes calldata _blobInput ) external; diff --git a/l1-contracts/src/core/libraries/ConstantsGen.sol b/l1-contracts/src/core/libraries/ConstantsGen.sol index df21b2baece9..3ccca87372d5 100644 --- a/l1-contracts/src/core/libraries/ConstantsGen.sol +++ b/l1-contracts/src/core/libraries/ConstantsGen.sol @@ -172,8 +172,9 @@ library Constants { uint256 internal constant TREE_LEAF_READ_REQUEST_LENGTH = 2; uint256 internal constant PRIVATE_LOG_DATA_LENGTH = 20; uint256 internal constant SCOPED_PRIVATE_LOG_DATA_LENGTH = 21; - uint256 internal constant LOG_HASH_LENGTH = 3; - uint256 internal constant SCOPED_LOG_HASH_LENGTH = 4; + uint256 internal constant CONTRACT_CLASS_LOG_SIZE_IN_FIELDS = 3019; + uint256 internal constant CONTRACT_CLASS_LOG_DATA_LENGTH = 3021; + uint256 internal constant SCOPED_CONTRACT_CLASS_LOG_DATA_LENGTH = 3022; uint256 internal constant NOTE_HASH_LENGTH = 2; uint256 internal constant SCOPED_NOTE_HASH_LENGTH = 3; uint256 internal constant NULLIFIER_LENGTH = 3; @@ -193,7 +194,7 @@ library Constants { uint256 internal constant TOTAL_MANA_USED_LENGTH = 1; uint256 internal constant BLOCK_HEADER_LENGTH = 25; uint256 internal constant BLOCK_HEADER_LENGTH_BYTES = 648; - uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 741; + uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 3759; uint256 internal constant PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH = 908; uint256 internal constant PRIVATE_CONTEXT_INPUTS_LENGTH = 40; uint256 internal constant FEE_RECIPIENT_LENGTH = 2; @@ -202,16 +203,16 @@ library Constants { uint256 internal constant SCOPED_READ_REQUEST_LEN = 3; uint256 internal constant PUBLIC_DATA_READ_LENGTH = 3; uint256 internal constant PRIVATE_VALIDATION_REQUESTS_LENGTH = 772; - uint256 internal constant PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH = 741; + uint256 internal constant PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH = 3758; uint256 internal constant TX_CONSTANT_DATA_LENGTH = 37; uint256 internal constant COMBINED_CONSTANT_DATA_LENGTH = 46; - uint256 internal constant PRIVATE_ACCUMULATED_DATA_LENGTH = 1412; - uint256 internal constant PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 2230; - uint256 internal constant PRIVATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH = 900; + uint256 internal constant PRIVATE_ACCUMULATED_DATA_LENGTH = 4430; + uint256 internal constant PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 5248; + uint256 internal constant PRIVATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH = 3918; uint256 internal constant PRIVATE_TO_AVM_ACCUMULATED_DATA_LENGTH = 160; uint256 internal constant NUM_PRIVATE_TO_AVM_ACCUMULATED_DATA_ARRAYS = 3; - uint256 internal constant PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 1847; - uint256 internal constant PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 783; + uint256 internal constant PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 7883; + uint256 internal constant PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 3800; uint256 internal constant CONSTANT_ROLLUP_DATA_LENGTH = 13; uint256 internal constant BASE_OR_MERGE_PUBLIC_INPUTS_LENGTH = 52; uint256 internal constant BLOCK_ROOT_OR_BLOCK_MERGE_PUBLIC_INPUTS_LENGTH = 986; @@ -290,6 +291,7 @@ library Constants { uint256 internal constant L2_GAS_PER_L1_TO_L2_MSG_READ_REQUEST = 1404; uint256 internal constant L2_GAS_PER_LOG_BYTE = 4; uint256 internal constant L2_GAS_PER_PRIVATE_LOG = 0; + uint256 internal constant L2_GAS_PER_CONTRACT_CLASS_LOG = 0; uint256 internal constant L2_GAS_PER_L2_TO_L1_MSG = 200; uint256 internal constant TX_START_PREFIX = 8392562855083340404; uint256 internal constant REVERT_CODE_PREFIX = 1; diff --git a/l1-contracts/test/Rollup.t.sol b/l1-contracts/test/Rollup.t.sol index 4901b8e7c247..ccfa07a1adbc 100644 --- a/l1-contracts/test/Rollup.t.sol +++ b/l1-contracts/test/Rollup.t.sol @@ -221,7 +221,7 @@ contract RollupTest is RollupBase { txHashes: new bytes32[](0) }); vm.expectRevert(abi.encodeWithSelector(Errors.Rollup__InvalidBlobHash.selector, blobHashes[0])); - rollup.propose(args, signatures, data.body, data.blobInputs); + rollup.propose(args, signatures, data.blobInputs); } function testInvalidBlobProof() public setUpFor("mixed_block_1") { @@ -249,7 +249,7 @@ contract RollupTest is RollupBase { txHashes: new bytes32[](0) }); vm.expectRevert(abi.encodeWithSelector(Errors.Rollup__InvalidBlobProof.selector, blobHashes[0])); - rollup.propose(args, signatures, data.body, blobInput); + rollup.propose(args, signatures, blobInput); } function testRevertPrune() public setUpFor("mixed_block_1") { @@ -313,7 +313,7 @@ contract RollupTest is RollupBase { oracleInput: OracleInput(0), txHashes: txHashes }); - rollup.propose(args, signatures, data.body, data.blobInputs); + rollup.propose(args, signatures, data.blobInputs); } function testNonZeroL2Fee() public setUpFor("mixed_block_1") { @@ -340,7 +340,7 @@ contract RollupTest is RollupBase { oracleInput: OracleInput(0), txHashes: txHashes }); - rollup.propose(args, signatures, data.body, data.blobInputs); + rollup.propose(args, signatures, data.blobInputs); } struct TestBlockFeeStruct { @@ -393,7 +393,7 @@ contract RollupTest is RollupBase { oracleInput: OracleInput(0), txHashes: new bytes32[](0) }); - rollup.propose(args, signatures, data.body, data.blobInputs); + rollup.propose(args, signatures, data.blobInputs); assertEq( testERC20.balanceOf(data.decodedHeader.globalVariables.coinbase), 0, @@ -669,7 +669,6 @@ contract RollupTest is RollupBase { DecoderBase.Data memory data = load("empty_block_1").block; bytes memory header = data.header; bytes32 archive = data.archive; - bytes memory body = data.body; bytes32[] memory txHashes = new bytes32[](0); assembly { @@ -685,14 +684,13 @@ contract RollupTest is RollupBase { oracleInput: OracleInput(0), txHashes: txHashes }); - rollup.propose(args, signatures, body, data.blobInputs); + rollup.propose(args, signatures, data.blobInputs); } function testRevertInvalidChainId() public setUpFor("empty_block_1") { DecoderBase.Data memory data = load("empty_block_1").block; bytes memory header = data.header; bytes32 archive = data.archive; - bytes memory body = data.body; bytes32[] memory txHashes = new bytes32[](0); assembly { @@ -707,14 +705,13 @@ contract RollupTest is RollupBase { oracleInput: OracleInput(0), txHashes: txHashes }); - rollup.propose(args, signatures, body, data.blobInputs); + rollup.propose(args, signatures, data.blobInputs); } function testRevertInvalidVersion() public setUpFor("empty_block_1") { DecoderBase.Data memory data = load("empty_block_1").block; bytes memory header = data.header; bytes32 archive = data.archive; - bytes memory body = data.body; bytes32[] memory txHashes = new bytes32[](0); assembly { @@ -729,14 +726,13 @@ contract RollupTest is RollupBase { oracleInput: OracleInput(0), txHashes: txHashes }); - rollup.propose(args, signatures, body, data.blobInputs); + rollup.propose(args, signatures, data.blobInputs); } function testRevertInvalidTimestamp() public setUpFor("empty_block_1") { DecoderBase.Data memory data = load("empty_block_1").block; bytes memory header = data.header; bytes32 archive = data.archive; - bytes memory body = data.body; bytes32[] memory txHashes = new bytes32[](0); uint256 realTs = data.decodedHeader.globalVariables.timestamp; @@ -756,7 +752,7 @@ contract RollupTest is RollupBase { oracleInput: OracleInput(0), txHashes: txHashes }); - rollup.propose(args, signatures, body, new bytes(144)); + rollup.propose(args, signatures, new bytes(144)); } function testSubmitProofNonExistantBlock() public setUpFor("empty_block_1") { diff --git a/l1-contracts/test/base/RollupBase.sol b/l1-contracts/test/base/RollupBase.sol index c3b3aeb5db46..ef1d81d2f130 100644 --- a/l1-contracts/test/base/RollupBase.sol +++ b/l1-contracts/test/base/RollupBase.sol @@ -196,7 +196,7 @@ contract RollupBase is DecoderBase { oracleInput: OracleInput(0), txHashes: new bytes32[](0) }); - rollup.propose(args, signatures, full.block.body, blobInputs); + rollup.propose(args, signatures, blobInputs); bytes32 l2ToL1MessageTreeRoot; uint32 numTxs = full.block.numTxs; diff --git a/l1-contracts/test/fees/FeeRollup.t.sol b/l1-contracts/test/fees/FeeRollup.t.sol index 224a9eb5d770..7fb5bbe011aa 100644 --- a/l1-contracts/test/fees/FeeRollup.t.sol +++ b/l1-contracts/test/fees/FeeRollup.t.sol @@ -261,7 +261,6 @@ contract FeeRollupTest is FeeModelTestPoints, DecoderBase { txHashes: b.txHashes }), b.signatures, - b.body, b.blobInputs ); nextSlot = nextSlot + Slot.wrap(1); @@ -363,7 +362,6 @@ contract FeeRollupTest is FeeModelTestPoints, DecoderBase { txHashes: b.txHashes }), b.signatures, - b.body, b.blobInputs ); diff --git a/l1-contracts/test/validator-selection/ValidatorSelection.t.sol b/l1-contracts/test/validator-selection/ValidatorSelection.t.sol index c4ae9c5330ce..de2c1909495a 100644 --- a/l1-contracts/test/validator-selection/ValidatorSelection.t.sol +++ b/l1-contracts/test/validator-selection/ValidatorSelection.t.sol @@ -315,14 +315,14 @@ contract ValidatorSelectionTest is DecoderBase { emit log("Time to propose"); vm.prank(ree.proposer); - rollup.propose(args, signatures, full.block.body, full.block.blobInputs); + rollup.propose(args, signatures, full.block.blobInputs); if (ree.shouldRevert) { return; } } else { Signature[] memory signatures = new Signature[](0); - rollup.propose(args, signatures, full.block.body, full.block.blobInputs); + rollup.propose(args, signatures, full.block.blobInputs); } assertEq(_expectRevert, ree.shouldRevert, "Does not match revert expectation"); diff --git a/noir-projects/aztec-nr/aztec/src/context/private_context.nr b/noir-projects/aztec-nr/aztec/src/context/private_context.nr index 48d0df36649d..161bd3dc5338 100644 --- a/noir-projects/aztec-nr/aztec/src/context/private_context.nr +++ b/noir-projects/aztec-nr/aztec/src/context/private_context.nr @@ -20,9 +20,9 @@ use crate::{ use dep::protocol_types::{ abis::{ call_context::CallContext, + contract_class_log::ContractClassLogData, function_selector::FunctionSelector, log::Log, - log_hash::LogHash, max_block_number::MaxBlockNumber, note_hash::NoteHash, nullifier::Nullifier, @@ -37,9 +37,9 @@ use dep::protocol_types::{ address::{AztecAddress, EthAddress}, block_header::BlockHeader, constants::{ - MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL, - MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, - MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, + CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, MAX_CONTRACT_CLASS_LOGS_PER_CALL, + MAX_ENQUEUED_CALLS_PER_CALL, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, + MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DISPATCH_SELECTOR, @@ -79,7 +79,7 @@ pub struct PrivateContext { pub historical_header: BlockHeader, pub private_logs: BoundedVec, - pub contract_class_logs_hashes: BoundedVec, + pub contract_class_logs: BoundedVec, // Contains the last key validation request for each key type. This is used to cache the last request and avoid // fetching the same request multiple times. @@ -108,7 +108,7 @@ impl PrivateContext { public_teardown_call_request: PublicCallRequest::empty(), l2_to_l1_msgs: BoundedVec::new(), private_logs: BoundedVec::new(), - contract_class_logs_hashes: BoundedVec::new(), + contract_class_logs: BoundedVec::new(), last_key_validation_requests: [Option::none(); NUM_KEY_TYPES], } } @@ -205,7 +205,7 @@ impl PrivateContext { start_side_effect_counter: self.inputs.start_side_effect_counter, end_side_effect_counter: self.side_effect_counter, private_logs: self.private_logs.storage(), - contract_class_logs_hashes: self.contract_class_logs_hashes.storage(), + contract_class_logs: self.contract_class_logs.storage(), historical_header: self.historical_header, tx_context: self.inputs.tx_context, } @@ -323,6 +323,13 @@ impl PrivateContext { self.private_logs.push(private_log); } + pub fn emit_contract_class_log(&mut self, log: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS]) { + let counter = self.next_counter(); + // log_size is added and constrained in the kernels + let contract_class_log = ContractClassLogData { log: Log::new(log), counter, log_size: 0 }; + self.contract_class_logs.push(contract_class_log); + } + pub fn emit_raw_note_log( &mut self, log: [Field; PRIVATE_LOG_SIZE_IN_FIELDS], @@ -605,7 +612,7 @@ impl Empty for PrivateContext { l2_to_l1_msgs: BoundedVec::new(), historical_header: BlockHeader::empty(), private_logs: BoundedVec::new(), - contract_class_logs_hashes: BoundedVec::new(), + contract_class_logs: BoundedVec::new(), last_key_validation_requests: [Option::none(); NUM_KEY_TYPES], } } diff --git a/noir-projects/aztec-nr/aztec/src/oracle/logs.nr b/noir-projects/aztec-nr/aztec/src/oracle/logs.nr deleted file mode 100644 index 019a48e3468d..000000000000 --- a/noir-projects/aztec-nr/aztec/src/oracle/logs.nr +++ /dev/null @@ -1,18 +0,0 @@ -use dep::protocol_types::address::AztecAddress; - -/// Temporary substitute that is used for handling contract class registration. This -/// variant returns the log hash, which would be too large to compute inside a circuit. -pub unconstrained fn emit_contract_class_unencrypted_log_private( - contract_address: AztecAddress, - message: [Field; N], - counter: u32, -) -> Field { - emit_contract_class_unencrypted_log_private_oracle(contract_address, message, counter) -} - -#[oracle(emitContractClassLog)] -unconstrained fn emit_contract_class_unencrypted_log_private_oracle( - contract_address: AztecAddress, - message: [Field; N], - counter: u32, -) -> Field {} diff --git a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr index 5d2a69418197..1d06f7e94828 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/mod.nr @@ -16,7 +16,6 @@ pub mod get_public_data_witness; pub mod get_membership_witness; pub mod keys; pub mod key_validation_request; -pub mod logs; pub mod note_discovery; pub mod notes; pub mod random; diff --git a/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr b/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr index 58b469d0b304..1d97d711c6b7 100644 --- a/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr +++ b/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr @@ -5,20 +5,17 @@ use dep::aztec::macros::aztec; #[aztec] pub contract ContractClassRegisterer { use dep::aztec::protocol_types::{ - abis::log_hash::LogHash, constants::{ - ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT, - MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS, + ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, + FUNCTION_TREE_HEIGHT, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS, MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_BYTECODE_CAPSULE_SLOT, }, contract_class_id::ContractClassId, + utils::arrays::array_concat, }; - use dep::aztec::{ - context::PrivateContext, macros::functions::private, - oracle::logs::emit_contract_class_unencrypted_log_private, - }; + use dep::aztec::{context::PrivateContext, macros::functions::private}; use crate::events::{ class_registered::ContractClassRegistered, @@ -204,8 +201,8 @@ pub contract ContractClassRegisterer { #[contract_library_method] fn emit_contract_class_log(context: &mut PrivateContext, log: [Field; N]) { - let contract_address = context.this_address(); - let counter = context.next_counter(); + // let contract_address = context.this_address(); + // let counter = context.next_counter(); // The log preimage is too large for the hash to compile (16,200 fields, 518,400 bytes), so we do this via a // specialized oracle. @@ -217,13 +214,13 @@ pub contract ContractClassRegisterer { // cannot prove non-registration. Therefore, it is possible that a malicious oracle might prevent sequencers // from including transactions with calls to certain badly-broadcasted contracts. // TODO(#8978): review correctness - let log_hash = - unsafe { emit_contract_class_unencrypted_log_private(contract_address, log, counter) }; + // let log_hash = + // unsafe { emit_contract_class_unencrypted_log_private(contract_address, log, counter) }; - // 40 = addr (32) + raw log len (4) + processed log len (4) - context.contract_class_logs_hashes.push( - LogHash { value: log_hash, counter, length: 40 + (N as Field) * 32 }, - ); + // TODO(MW): this is inefficient and just while the log types aren't unified in len + let log_to_emit: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS] = + array_concat(log, [0; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - N]); + context.emit_contract_class_log(log_to_emit); } #[private] diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml index 4d14bd6a6fe8..0a78c3317b0f 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml @@ -1,13 +1,13 @@ -vk_tree_root = "0x21d971c64d3619099dafa73842f3706996ff14fa9d32f509bb26ae93dfd3f686" -protocol_contract_tree_root = "0x22c0e4f2a805886466bd0a7225ac03637630dcb01a306fa4b122a42c0c6a3f10" +vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" +protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" is_private_only = false first_nullifier_hint = "0x0000000000000000000000000000000000000000000000000000000000000000" [tx_request] -args_hash = "0x1c78057442463fa4abb6c8174ca6cbd65f63118ff10f43ba76e657c79271b1c4" +args_hash = "0x2ff9dd93aa7afe309e36305fc8be6c9f33ba899f9d73c9bfd8bd553cccc7210c" [tx_request.origin] - inner = "0x30115c80b13c0a42019f2e58b75086cf4053674b689df29e2c9581447f32cf2f" + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" [tx_request.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" @@ -23,7 +23,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [tx_request.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000186c3f" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [tx_request.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -39,7 +39,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 key = [ "0x0000000000000000000000000000000000000000000000000000000000100000", "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x00000000000000000000000000000000000000000000000000000000000328b1", + "0x00000000000000000000000000000000000000000000000000000000000353a9", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", @@ -60,131 +60,131 @@ key = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000ce7b9b9d87a1166114f0eb635ccfadf3c4", - "0x000000000000000000000000000000000000149ae9604e8b96d266ff7a33e688", - "0x000000000000000000000000000000bb2ba26b5e9232e44d41c072042aaaffb3", - "0x00000000000000000000000000000000001f260f41e48c7a8e4f9054cb4d8b99", - "0x000000000000000000000000000000cede4b4a60139b4fce604516e7f1f3c388", - "0x00000000000000000000000000000000001553cba4065435d21e87fff0c892f8", - "0x0000000000000000000000000000008d469400affbce7ad87c3ba01ae1f0efaf", - "0x0000000000000000000000000000000000025165aa0bd71f582e927e284d2d07", - "0x000000000000000000000000000000d58b5207dc95abdbd3782e49bec07df740", - "0x000000000000000000000000000000000008d93b89a24ed0325a6fb44fef5e7d", - "0x00000000000000000000000000000082b5ed35754bb9e65716b75c2f49ccb387", - "0x0000000000000000000000000000000000044d1c38c89337f8345511930c976d", - "0x000000000000000000000000000000d419594748bd76f6b38408d3ab31363cc2", - "0x000000000000000000000000000000000028811c19620b3203ab452b25e6792e", - "0x000000000000000000000000000000bf3455e9b94789df965149b747bf0e53b4", - "0x00000000000000000000000000000000001bf2a52eaca78ca31df5f3214ad78c", - "0x000000000000000000000000000000a0e502ff628643a46eb2aecd5fa2693834", - "0x0000000000000000000000000000000000226fcd830c168dff93bcc2b0700309", - "0x00000000000000000000000000000038f3fa716677e7f23f096a75fcd647c892", - "0x000000000000000000000000000000000027491e02abe62c68de752c3c529361", - "0x0000000000000000000000000000006500fde6ddf5ff2c5f8e6e4a3e5d61ffce", - "0x0000000000000000000000000000000000012153699f29df6322d8e5ab5f4a80", - "0x000000000000000000000000000000571cf8130390901d4b903f4682424323e5", - "0x000000000000000000000000000000000011f56b7fb830912a7f081088ec0029", - "0x000000000000000000000000000000552393d09533e1b2004bd84e9f8a53a88f", - "0x00000000000000000000000000000000000456bb701b5b0b463bbcf0c4fe7190", - "0x00000000000000000000000000000074156481e9a3f8f091d30db1003a6daab4", - "0x00000000000000000000000000000000000380f4e6bb304776bfd4fb22e20987", - "0x000000000000000000000000000000d0a00080cd8f34ba0e37546c102665c8fe", - "0x00000000000000000000000000000000000d56bbef147278fdc057f9a336d984", - "0x000000000000000000000000000000f11f3eaed8726026211d2ee0f83e32e453", - "0x0000000000000000000000000000000000291fbbe0b7f6f2823d5469cf981a1e", - "0x0000000000000000000000000000006d3eaa4e23a937590ce96d4ce395eb9ca1", - "0x00000000000000000000000000000000001f6bf3e8d8abb69dbd588290f5930e", - "0x0000000000000000000000000000004904827f57ac61c78570fb28c148ebbf63", - "0x0000000000000000000000000000000000248209f534ffdd643e6667757f3cc5", - "0x000000000000000000000000000000f7a57d8eb28c5d23873376972e0630ac39", - "0x00000000000000000000000000000000001b55bec64f61aa2803559d6a766e60", - "0x000000000000000000000000000000d20d9a80ac0aa69cbff40f2e4dca6eebce", - "0x000000000000000000000000000000000013c663eae8b3f521e46711f0d41d44", - "0x0000000000000000000000000000000667d5a0b5d8c7b4dce087772787c9ffd7", - "0x00000000000000000000000000000000001e206cfc59b15cea1d0c4116959b05", - "0x000000000000000000000000000000954a2b17d38cd1685c9cad77b7835f2328", - "0x00000000000000000000000000000000002bafbd023ebab3833b18142a9b695d", - "0x000000000000000000000000000000e607217740cfbf4bc9d4754e365e9e3b49", - "0x0000000000000000000000000000000000220b73b9ddb031d3c0003d8c0e98ff", - "0x00000000000000000000000000000013b6575637a08998b25813e41185305a39", - "0x000000000000000000000000000000000000b1ec9feb2651dce08c9f211249bc", - "0x000000000000000000000000000000a749c1c71c87b509d7a1614d3aca240562", - "0x00000000000000000000000000000000001f8875b669e9a705b16885884b2ea6", - "0x000000000000000000000000000000538c26a5208bce38bc5be597e1e47ebd16", - "0x000000000000000000000000000000000006dcb6186920ba1438d63b024110f6", - "0x000000000000000000000000000000972a1c7250e58722cb97529c853aeda46c", - "0x00000000000000000000000000000000001dad3f4e78044bf6197cbd3e376f67", - "0x000000000000000000000000000000d68a49412f45d61ef4fa8a13437267f9de", - "0x0000000000000000000000000000000000243adeaa8a631cdf7bc2586150dba2", - "0x000000000000000000000000000000c886839ab98267acd8c7b84e6be0f638aa", - "0x00000000000000000000000000000000001121156422e4835e3d8d34ab5cbd2a", - "0x00000000000000000000000000000029043712764295aabc4732c9cb2289da66", - "0x000000000000000000000000000000000015f179d49eef2606f86c7893a97cd3", - "0x00000000000000000000000000000061bb3caa1a2ed435f3b5fea226462ad763", - "0x000000000000000000000000000000000015d0600625d3e9b0ce98f29be63270", - "0x00000000000000000000000000000096929007c0978f987a0c9b1d334d5fc32f", - "0x0000000000000000000000000000000000027b0660daf7b9a39908eab6428695", - "0x000000000000000000000000000000f84e29c66f445d2fabb191b6506c20de71", - "0x0000000000000000000000000000000000038676fd7c7640d53b4d66c5539e53", - "0x00000000000000000000000000000010411d188146e83434800e195d61317f15", - "0x0000000000000000000000000000000000022cd6aa27013133896a44ec81fa3f", - "0x000000000000000000000000000000cc615929ee3b746374c06b025bf57d81f0", - "0x00000000000000000000000000000000001c62524963a4b1101d88bfc24de791", - "0x000000000000000000000000000000abda4b6d9e27979959b68ee694f349752a", - "0x00000000000000000000000000000000001f0832b2c21fcde549a4ee946c35f7", - "0x00000000000000000000000000000077f2a6ce537ffa15b32ea091f0cd0f4926", - "0x00000000000000000000000000000000002a7c7ee0b9879d021c827b4da94bf0", - "0x00000000000000000000000000000082019ba82af5d03f830e008b3f6da41523", - "0x00000000000000000000000000000000001d488b008651120c70eebb84a7e365", - "0x000000000000000000000000000000d733d7b2c357a31ceb159b7cb372654692", - "0x0000000000000000000000000000000000183cbd8c2678e4712a615eb378ccd3", - "0x000000000000000000000000000000eb01901781efa7ef1373bab28ca14a6e4c", - "0x0000000000000000000000000000000000214fec8aabf60dce6884fa065649e0", - "0x0000000000000000000000000000001199da0b059ccc2ec058ec51219f3b38ff", - "0x00000000000000000000000000000000002023c7d019b6a207dbef79b2996206", - "0x000000000000000000000000000000d722e236a9d78854e897297fab66213bca", - "0x00000000000000000000000000000000000f701ce6d63018e0c0c3cb59704e3f", - "0x000000000000000000000000000000d92586f0e08b7b36d2fe47994a3d2379e5", - "0x0000000000000000000000000000000000152596cdb484bae09c1dafa8d225b8", - "0x0000000000000000000000000000008197a869f3b956470d65b2d3a922a690b3", - "0x000000000000000000000000000000000008b708dc05929c85ec9b8d9065916b", - "0x00000000000000000000000000000084a9b3527cd2ebff62b245a04aab258f92", - "0x00000000000000000000000000000000000a85019e1252699312cbd5ec6a23b2", - "0x00000000000000000000000000000000b5eee72336430c3feb7da6b8b57e1551", - "0x00000000000000000000000000000000001bba1a6e49f0ba66643e8b32fd090e", - "0x0000000000000000000000000000004d612c80fc91a269aaaaa975c84c8e58d6", - "0x000000000000000000000000000000000000b34e0082bc5aed819a81bb36744c", - "0x000000000000000000000000000000beb969e0f2c7856270dc5fda2c5d399dcc", - "0x00000000000000000000000000000000000013aea3bcc0841ec6d94b285f1beb", - "0x0000000000000000000000000000002671782a93372aad369530ae4b75c22bdb", - "0x000000000000000000000000000000000002d9f0465ef4b2b116d4b88625344f", - "0x00000000000000000000000000000026e9839942d72920141febdab07e4c20c3", - "0x0000000000000000000000000000000000265f0c70536ec02f7c9be4ce19c29d", - "0x0000000000000000000000000000003a339e8cb8c648d07c34ddcb4ef4452783", - "0x000000000000000000000000000000000027807a4f7b23d9cc1c865ef9930999", - "0x000000000000000000000000000000bc4fd810c781d7b239a47a086361686edc", - "0x00000000000000000000000000000000000cbf9d6e0b6faa609ddbd5817f5d10", + "0x000000000000000000000000000000e9ac0b0fab9cb289a6b00e0601211b15da", + "0x00000000000000000000000000000000001f364953306f5e0eabb191b4a06a0c", + "0x0000000000000000000000000000000401039fb11fcfd4146330182eb13e92ac", + "0x0000000000000000000000000000000000266603823b1163e5cc31fc75283641", + "0x000000000000000000000000000000a9dec54e960c257dc7e8d20f3809f5f6dc", + "0x00000000000000000000000000000000001c179639e465594fd2cd1b2e4595d8", + "0x000000000000000000000000000000f7b769345a85aae1e157af1927d1c71d9c", + "0x00000000000000000000000000000000000f5a7205467181d9e87ecef6518886", + "0x0000000000000000000000000000006e61794bebe4ccdaf52c359b0206f0c5b4", + "0x000000000000000000000000000000000029f4a08f4e7371cd2f494bcc574d67", + "0x0000000000000000000000000000003b11c0adc9ccf9f10d9f0a069af8844cb1", + "0x00000000000000000000000000000000000e7c224feecd9dcee3b7afbcfdac0c", + "0x0000000000000000000000000000005ad2c3168be68d93a3f945b6e8e6bf35c0", + "0x000000000000000000000000000000000011ca4d5f075b76084762d368474508", + "0x000000000000000000000000000000c7b5c69a163a523fb7f08418959b1b0e85", + "0x00000000000000000000000000000000001e88ba986a9be422d10b818e51cee1", + "0x0000000000000000000000000000002e507b4d139d25a820249134f02fc073a1", + "0x000000000000000000000000000000000017de9e3121e5f7c84c2cd3e352d956", + "0x000000000000000000000000000000b0d3b25a4bbaf30541a599db2ab2108117", + "0x0000000000000000000000000000000000082a57dbc103812b3b68b5c35241f2", + "0x00000000000000000000000000000032d17b184f2e25832ca2df808b92ea40b7", + "0x000000000000000000000000000000000020bbd5c2855aa639b7b4e955f91813", + "0x000000000000000000000000000000c43b0b25a5953b849ca1b946eccc1a3639", + "0x00000000000000000000000000000000002e2a6f9fec4d21851a540f9cd807f4", + "0x000000000000000000000000000000268e80205544df2d2a002a05f42b79f0e1", + "0x0000000000000000000000000000000000157348ae18b2f224770023ed8c32e2", + "0x000000000000000000000000000000f762d419f3c8e0e295c1f15cf2141b2370", + "0x00000000000000000000000000000000001c15a73e459386696520b1def53890", + "0x00000000000000000000000000000071bffc06befaad66ae5538da4fc96d8c1f", + "0x00000000000000000000000000000000002620b5b75af4d71b9e75587801e870", + "0x000000000000000000000000000000c40574eb0b1abf18af4bf4b2870f857545", + "0x00000000000000000000000000000000000c504f0e9dbe79cc5e415a775adc22", + "0x000000000000000000000000000000f85b123b37b43750fcea7584f797034c0e", + "0x00000000000000000000000000000000002da222d39f1dcc22fa23771341a5c9", + "0x0000000000000000000000000000002c9f02434032c99fc7d334923f85f5bbc9", + "0x00000000000000000000000000000000001558bf74c2182de5a7df985fad971a", + "0x000000000000000000000000000000749851a80336867fed30454e9de8ebecd1", + "0x000000000000000000000000000000000025058edf029543662fc1ed60a276d9", + "0x00000000000000000000000000000055a6a654a567c9c2857f575c6c945219a3", + "0x000000000000000000000000000000000011437aa1863ad28a3e6ec892676aeb", + "0x00000000000000000000000000000084d707f82e77bacc85d5933f84df89c9af", + "0x00000000000000000000000000000000001e1c8b2bcd1b8446b1bd634d2a34d2", + "0x00000000000000000000000000000071377e9067b992c6720639921fb4d3d6f7", + "0x00000000000000000000000000000000002b26b97fe48b3bb8ee8f4ec40ee9b5", + "0x000000000000000000000000000000e7acf2293d73f02a8910dc1d5b560a6721", + "0x000000000000000000000000000000000007dfe4ecf4d323a91a089717eacd23", + "0x000000000000000000000000000000ae60c3474247821c99648dc7c5d02c17c6", + "0x000000000000000000000000000000000006402c707e936b5bc729693cc02e67", + "0x000000000000000000000000000000342a25091b2ac20d3766fc56f446e79e25", + "0x000000000000000000000000000000000028d923bced147fd98908ca5b3047d8", + "0x000000000000000000000000000000d0fb29eefdc693c62870bd830997e935cf", + "0x000000000000000000000000000000000029e730fcc017e2b047fd25f508fefe", + "0x0000000000000000000000000000008d974db13a7f3df6db159eaded92fc2b77", + "0x000000000000000000000000000000000017cfb519dfc57098f24fb40ef7cf5c", + "0x000000000000000000000000000000900d72ab5ae9eb8ae5f1a4d737af598c9d", + "0x000000000000000000000000000000000029853acc07c511256b1ee602411d9a", + "0x0000000000000000000000000000002fec7ff93a269fcc9888be66e01afd5522", + "0x00000000000000000000000000000000001338bc96589043684f50c0892d4815", + "0x000000000000000000000000000000c3de3b73b1368d9e78c2a71b26d641e5eb", + "0x00000000000000000000000000000000001035e236295674c2da677af7a87406", + "0x00000000000000000000000000000045efaa97db4d3f86f4ef03de83e03537c2", + "0x0000000000000000000000000000000000190a029ea20d154f2866cf2e45f3d7", + "0x000000000000000000000000000000c3618ee4e1b92d8dacaedc3adc1911e9e4", + "0x000000000000000000000000000000000027ce830e517c27b8c109a81a386248", + "0x00000000000000000000000000000092b324ff3d34bb7ce2505c6a5b5fc870c0", + "0x000000000000000000000000000000000023cc2fa94f6eeaf1ad10d5aac413a7", + "0x00000000000000000000000000000052b477bb2b8f23aae8439763b67e8273a8", + "0x00000000000000000000000000000000002a38890d528aa77c913363a2f8bfd5", + "0x000000000000000000000000000000977642e61ba692562c8316931c7eb2bd0a", + "0x00000000000000000000000000000000002f9210f156291cb6b35c89b1dfe9f6", + "0x0000000000000000000000000000005adcddd5e619270dd9ac982ae51f790209", + "0x000000000000000000000000000000000025809504d3bcb80adc72a9dab2abdd", + "0x00000000000000000000000000000036577617292628f93da977fbaf58c50c02", + "0x00000000000000000000000000000000000cee0f8c993cd27303d462ae78fb78", + "0x00000000000000000000000000000032bec93ee4e3ab379b420c802c7560cf7c", + "0x0000000000000000000000000000000000227f6971f8708530d84f22af9c6ffe", + "0x0000000000000000000000000000009add732785868cf99dac61bd0addbdae70", + "0x00000000000000000000000000000000002aa8d9747479f29e173780ddbcd57c", + "0x00000000000000000000000000000025eb9d5e50f2e35bae49eeeeb89a628f39", + "0x000000000000000000000000000000000005f5bfdbefebe685c0ad2b668ddc6d", + "0x000000000000000000000000000000edfec9be7ab2432cf547af4d43045bb3f5", + "0x00000000000000000000000000000000000cbe1a8e45d57b5562898537367b48", + "0x000000000000000000000000000000a11fcc0ab816bfcc7c10e52af31d6fcd27", + "0x000000000000000000000000000000000024617273e715a20c838cf9df065a85", + "0x0000000000000000000000000000005717430422ceb6b886aab73c4f0cc22c07", + "0x00000000000000000000000000000000000833c0699baa4ebd12f44022e544e4", + "0x0000000000000000000000000000006a28b8d319b3d97cf77fb34f50ca21ce8c", + "0x00000000000000000000000000000000000d4967974623253f62f940687f98d4", + "0x0000000000000000000000000000008d22fd070cc0c94ffa3b8ad00098f8fef2", + "0x00000000000000000000000000000000002f34626f27a68151e2aeb764fef996", + "0x0000000000000000000000000000006564f6247416584928cd5b10cd9dc28677", + "0x000000000000000000000000000000000003d42329e0a2e5e9b86e814cf3bf3f", + "0x0000000000000000000000000000002bc2c68fe6e85045c47d13deedbec36a7a", + "0x00000000000000000000000000000000001c1fee6a23de7916faf62be17a2a6e", + "0x0000000000000000000000000000008797839c074432505b10dad479d136a95a", + "0x0000000000000000000000000000000000215d9f3d5a9570d5ae7beeb33fcc32", + "0x0000000000000000000000000000005dc6dce6f48261e7c85286f8c38a7315d0", + "0x00000000000000000000000000000000002fef9fc75b08eec93d77be4f1c353c", + "0x0000000000000000000000000000001f2d4dfa21c91172c7704e637402a888d1", + "0x00000000000000000000000000000000002c4c8932f6269c392651c6a3b58dd6", + "0x00000000000000000000000000000008fa6338fd907c5609052bdce7864e39e5", + "0x00000000000000000000000000000000000e5c35aa02af771e8505d38bd37fb7", + "0x000000000000000000000000000000facbc1a220daee6c0af31f053d5e90ce3f", + "0x00000000000000000000000000000000000b84a2827395fafa262504fded56c2", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000c52c874f646f47f0bcb67fb225dc62b720", - "0x00000000000000000000000000000000001c7f11acb4c0f6ff1793cbc1418d1d", - "0x00000000000000000000000000000008982e8fa85bb46a3558faf65f0fdc774c", - "0x00000000000000000000000000000000000fce275683d77734592926688a261e", - "0x000000000000000000000000000000b5c1eac95b264c302dc854e6f22d7330df", - "0x00000000000000000000000000000000000fcbbf9d3cf402baa3eeda5f0a9e49", - "0x000000000000000000000000000000def9d58fc2920836194261f7b163fefbaf", - "0x0000000000000000000000000000000000283edfda89c9480597f0b3442e9752", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" + "0x000000000000000000000000000000daf41f6f894e9a51d8720b41aa0c09b458", + "0x000000000000000000000000000000000000029a435bb5f6531a2c2382d9a23d", + "0x0000000000000000000000000000001fad9789b7feea0708bf413ea96d0d1f86", + "0x00000000000000000000000000000000002a2c994c319a4c662260906542e009", + "0x0000000000000000000000000000006bcc7a05ff95a96b289424c5f733670d96", + "0x000000000000000000000000000000000000c43726f75b6fda0de22ce0e0dfab", + "0x0000000000000000000000000000001d0a09d7178ec93bad7858f96e64f0b48d", + "0x00000000000000000000000000000000002f9b6e0b4e2c01968de5c32482aa7d", + "0x000000000000000000000000000000cc2411e675859a0b8304fec0a5490b5e93", + "0x000000000000000000000000000000000019599133b74e15b1b7cd20473a6fac", + "0x000000000000000000000000000000d3a882cf4261b0f6e2b04e894a031fb1db", + "0x00000000000000000000000000000000001ac56d8462aa7cac1d61eb350f1aee" ] -hash = "0x03794d69241e6646aceced5e2cc634f9aa4772262592229b7608834b3ccee7d5" +hash = "0x1a923d7680618b676e1062f175adad7c19499f3022be64b5f8a0916a69bdf8c2" [private_call.verification_key_hints] -contract_class_artifact_hash = "0x196980607d3bc2d71a5b0eaf7611d18ca2818bb95e9eba3b9f5d7aec4a9c649f" +contract_class_artifact_hash = "0x0867db33d0ae028db3ab1ee0bb24d2bc0503d6b93a26dd77878b1350b64d545c" contract_class_public_bytecode_commitment = "0x0000000000000000000000000000000000000000000000000000000000000000" acir_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" updated_class_id_value_change = [ @@ -199,59 +199,59 @@ updated_class_id_delay_change = [ [private_call.verification_key_hints.function_leaf_membership_witness] leaf_index = "0" sibling_path = [ - "0x19e6836999621e391642be3c4c36044ff6f7fd2574179c85904223fa6cafb5a5", - "0x1de366438a3afe71656f913e425152445a052a668918dcd8a0da41a745cb584e", + "0x1faec3ab3708932b5c083ee48f9f0912a9ac9a3502df89a4a06ba829e5448440", + "0x0cfba072583155e8c5c562de5203ba3603049427bc7772e56d1c5ba7fe0d8fd8", "0x0e1ce4f11f4d51a7d3136abbd625315fff3876d322e46ad8401da96f8e43a614", "0x1a0ca5eecb1430479902264f04e557160a4666fb42bb8b283c6397e3d17ac937", "0x2a6595890719fef7967c209488728aa5342438ba52058a3c770202f55acf6854" ] [private_call.verification_key_hints.public_keys.npk_m.inner] -x = "0x0a9b8adfbfa47265264eeec2111506602133932ab717a76524ed17ea41bf9728" -y = "0x051e243411ef5b245a7ea87e21e21ca2a56d7afa54986a97a6c96bb00b7f481a" +x = "0x01a3c917d726eb692028e9ae476281f6219a7f2a0fbcf2cbbe4202069d256a26" +y = "0x01cf0c2b78b83cd352f3b1845f8a1a19c5c97efaeb0d600edfa9cbe14606e666" is_infinite = false [private_call.verification_key_hints.public_keys.ivpk_m.inner] -x = "0x14c1119dcc7a4f31cbe3eef3ed0561028974c76012bd2b4f64f06516e4e98e7b" -y = "0x233b0bb5960229f1708bed66ed8be0f25e3ace322cee2b11cc0e2a81c809a85b" +x = "0x22422b3338cd6c08faec28732d621f25137f8a9c35342ffa154d930e5152f682" +y = "0x106ff91ea5936d668675534f185b3635bfdd29782d6ed139cb6ccd2c38556f7a" is_infinite = false [private_call.verification_key_hints.public_keys.ovpk_m.inner] -x = "0x212f7a13c7f76e6f50079fe464decceaa39b4de02ea1fd5f73ad4b6b63593209" -y = "0x18d5f37bc55ad053daa878fab020ea899f120198e2025c527f91a4f891dc492a" +x = "0x25cdcc1c2a19f3cdbee67b759d34d000fa7a9c30318c246ec8f390ba2b973796" +y = "0x107e13820c9daaca324da617ddc31feb5ea50e7ff3c7f71d8798efa53e600d0b" is_infinite = false [private_call.verification_key_hints.public_keys.tpk_m.inner] -x = "0x0c7c85ccda76197ddec6e2c366101c119c3d67d6663befdfd6fe461bf58d6f30" -y = "0x18e02b1417ec3bde89406edf53ed8e2d2526f513c13408a84576fa6310ab0a78" +x = "0x047df57c10f5890dd7b952aefa91191addc1c66928cecd7457634c8377750267" +y = "0x1ddecc123e7efe16c4474a389535ea234f26419d608bd774729f0fd98a0db8b7" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x25e914d724050071f0716015039d3d1391e9ea4a52a9f9bc9fee382694924123" + inner = "0x031e2eb842f656a22c2547ebb3b9ed626813a7583c08a752b46ee6e74f2bf3db" [private_call.verification_key_hints.protocol_contract_membership_witness] - leaf_index = "2" + leaf_index = "6" sibling_path = [ - "0x1797e9eb2bc5d5c6e1aa3386f1d719bce936306d9a9105b935185cc8fbd03f7a", - "0x2f2acfe1e2aeb2f43f8fd14267acafdbaa06c495ae010977dfc07b24312fb5dc", - "0x2213e581b96f63758b3fc7fea45eccc574f2e95648ac68c27d2865906bf389c0" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x144b32da17018beab5c2dd5484f16f49db4ecc692e84716972317b673b010674", + "0x14af3db2c4c624b5f813b6583c8815b2c8e76d9863141ef7851034268c507cd5" ] [private_call.verification_key_hints.protocol_contract_leaf] - address = "0x2fca7ff6e9adfbd67f3cd542234daffe419d1271b2043862eb6b63a02d95fd1f" - next_address = "0x0000000000000000000000000000000000000000000000000000000000000000" + address = "0x054802d841b204f277fb6c5941bbfeacb54dcd1ddad13212690d1373e36c7a01" + next_address = "0x0ca84ac2597d5cfa97e7f4aea58aa84ae05751b4944d94a34a75c1bd51b174bd" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "132" + leaf_index = "147" sibling_path = [ - "0x1d00b43e9f9f13cd82a5dda3505061d9cc16f04d90ffcbf6fd21abd35184b1b7", - "0x044757d7dadb7e58940c63a8e3511266a15798b0ec4252f3bbb6f5985d011c99", - "0x182f25010964870ea1d1cbcfc242f39ce8d22d7f596452c5a5e76400fc440f9c", - "0x1f5d28afdbfc3602b110144ffbca3c7e23117e3f117632f38dc0857cfa8ce9f6", - "0x196ca6ed61b8f48c8ad8df44a8a72ac71343352adc8d654037439d851965344d", + "0x2274b7c523df83ec73ca31d42394e5cdf6800a89ac231d3c51edc38e4b518832", + "0x13fa3c768c9e4b96f0f9e5abf0438c27e5491e315d9b0c6e68021fcee2075676", + "0x0396878dac471c5e837a565ff25df3f5304fec19290d584258198abdc5973e7d", + "0x17bfd701ba82ef8eb9ae7a61598f7c39d6fa0224fb38f8360b8c0515ee78ff72", + "0x1a72a9e6c1786c52cf310bd8dc2a3038b904a43e64585039c74679923df264bf", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x1403ea8e9dceb886c909e93a8405e12e5e4f3ba06d85939ffb951672b5c3ea83", + "0x171577a7f8f6fdef4332ea93b2fe221a5301f036b2e6fa068cdecb79fb13abc4", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -287,13 +287,13 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x0851971354193cb64142d979aff7b3c49f5dc2212ba36ea68f6e7b0916dd557e" - value = "0x05208323f49682fc3367ed42a0212854a797b5372b0cc6bc5493b00e96ff256d" - next_slot = "0x0aa43f4a7989199d7e7c243a8a55e20d1dc2ad72a9610be7832b69c867c5a236" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000081" + slot = "0x0cc8ee6c3e19d0ec02261c9db5f208c5b3f4380f247821a9383a7c94aa3a2791" + value = "0x000dc47fa2bf32f5ce6aca8d2d3cfaecc3598e4c6d25dbc152bfb454a6044959" + next_slot = "0x124c485a3eb5c92b50217a355f59c5b5450325c8ac311c584fff3b862eb367b8" + next_index = "0x000000000000000000000000000000000000000000000000000000000000008e" [app_public_inputs] -args_hash = "0x1c78057442463fa4abb6c8174ca6cbd65f63118ff10f43ba76e657c79271b1c4" +args_hash = "0x2ff9dd93aa7afe309e36305fc8be6c9f33ba899f9d73c9bfd8bd553cccc7210c" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000001" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000004" @@ -311,13 +311,13 @@ _value = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" [app_public_inputs.call_context.contract_address] - inner = "0x30115c80b13c0a42019f2e58b75086cf4053674b689df29e2c9581447f32cf2f" + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" [app_public_inputs.call_context.function_selector] inner = "0x0000000000000000000000000000000000000000000000000000000027e740b2" [[app_public_inputs.note_hash_read_requests]] - value = "0x19a0c6005860f89e0e94e26f514bc2952e7f1ba490521fadffc8ea72be85f837" + value = "0x2eb3174caf2c3c548717dbbc15ccd7c9dad2acc8af7f7d24a9734839f1edd529" counter = "0x0000000000000000000000000000000000000000000000000000000000000002" [[app_public_inputs.note_hash_read_requests]] @@ -859,13 +859,13 @@ _value = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.public_call_requests.inner] is_static_call = true - args_hash = "0x1b1d58b3cd52d9b27e85e4ff9a0416d912a32f576553901871ae62a4141daad4" + args_hash = "0x29980f5ff25f8404a2a8f8510d22d1acead54b6bfbc1a0ba4004b4a31436b6de" [app_public_inputs.public_call_requests.inner.msg_sender] - inner = "0x30115c80b13c0a42019f2e58b75086cf4053674b689df29e2c9581447f32cf2f" + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" [app_public_inputs.public_call_requests.inner.contract_address] - inner = "0x063951d8a111a809db4098fe0146d185698cb0651ea8953607998767eae4617c" + inner = "0x13ce6e12aee9046b7e1d8c0753ddfe92b2d2c01a1e64c8335cc522c1592be269" [app_public_inputs.public_call_requests.inner.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000d5441b0d" @@ -1553,57 +1553,3079 @@ _value = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000" ] - [[app_public_inputs.contract_class_logs_hashes]] - value = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.contract_class_logs]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [app_public_inputs.historical_header] - total_fees = "0x000000000000000000000000000000000000000000000000000002234738a6dc" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000003e4b5" - - [app_public_inputs.historical_header.last_archive] - root = "0x182ece3a6471a364fdb90dac6ee36013aa3be5f8b00a3edae015ae194590f266" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000005" - - [app_public_inputs.historical_header.content_commitment] - num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" - blobs_hash = "0x00dbbc8e274b20691c819f6c5ccdaa3317c048cdf7e346aca53a9ad0338e33f4" - in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" - out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.historical_header.state.l1_to_l2_message_tree] -root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000050" - -[app_public_inputs.historical_header.state.partial.note_hash_tree] -root = "0x1d2a0372ac57ea0f5e4878ef40b3876d986df26d9039093d56426b8d05c1aa95" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" + log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.historical_header.state.partial.nullifier_tree] -root = "0x300782ca3597643e3bd4ef7c4122e409019f3e970a5e27cac7511d3bceca71b4" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" + [app_public_inputs.contract_class_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [app_public_inputs.historical_header] + total_fees = "0x00000000000000000000000000000000000000000000000000000015b099d070" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000015991" + + [app_public_inputs.historical_header.last_archive] + root = "0x23520abe588666a33f4a84275f6fefe5f5207d027617374a803fd2e4a0091ec9" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" + + [app_public_inputs.historical_header.content_commitment] + num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" + blobs_hash = "0x006a0f5e919dc9288760027e31a1e696774efc08c96b3c1dd43f68ee1b9f6359" + in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" + out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs.historical_header.state.l1_to_l2_message_tree] +root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" + +[app_public_inputs.historical_header.state.partial.note_hash_tree] +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" + +[app_public_inputs.historical_header.state.partial.nullifier_tree] +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [app_public_inputs.historical_header.state.partial.public_data_tree] -root = "0x17043d2abd1baca090b8b982811b5e202356adbc5d2b1e262c33c7846acf08dd" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000099" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" [app_public_inputs.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000005" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067af1dda" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34871" [app_public_inputs.historical_header.global_variables.coinbase] - inner = "0x00000000000000000000000036878ef7e244777d78d353a8a91073f7f9f4b9d2" + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" [app_public_inputs.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000008c90ec" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000101170" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" @@ -1619,7 +4641,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [app_public_inputs.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000186c3f" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [app_public_inputs.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-inner/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-inner/Prover.toml index a686e0e33203..4dfca0582ef5 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-inner/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-inner/Prover.toml @@ -1,19 +1,19 @@ [previous_kernel] vk_index = "0x0000000000000000000000000000000000000000000000000000000000000000" vk_path = [ - "0x0ff18f50ac892a4855d69c72b1a1a2dbcc8ad7c44b8ad06b17decf0e3ed9771c", - "0x20b25d6f46b001bfed6f0bb609200b2608fe075b68c9b740838d2b12a19700fd", - "0x24003f6468fefa5c180ec4da2a12f20b61cd408fa2b0536a52ddcd464ba030d9", + "0x09b808c6e1f7d2ce87d747008261c53f26a2ee688cd09a823db8fe4e6f8e04cf", + "0x1ea20defa1fb494f7ea6adc294d6e90af44d71b5b9d3b6c4dde0247442ce4d04", + "0x2c6a7c3b9516725db304ed9fe1b839ebf61b7acacb6b2e3201a4e4bab6be1259", "0x1ed25a38cd9d04ab5b82e40e8df5203e8601022abfa3f35de954bae2f5ab9434", - "0x085de27a70b1e644dba1f38475bc3cf44d2db93e32296c875e1b4e7435720caa", - "0x059405994b0e8b49eeccac51801f92d8adbc42fd48c9dd274f888e910168794e", + "0x0480e0c2f2c5c4c9096c1dbec900df8718ee5052ec59e04e9c94e7a43eb19139", + "0x00024db01ec2c08872cd46506dfd04762a0498b62b0d619a766a5aedc5c89c6a" ] -[previous_kernel.vk] -key = [ + [previous_kernel.vk] + key = [ "0x0000000000000000000000000000000000000000000000000000000000100000", "0x0000000000000000000000000000000000000000000000000000000000000020", - "0x00000000000000000000000000000000000000000000000000000000000328b1", + "0x00000000000000000000000000000000000000000000000000000000000353a9", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000000011", @@ -34,188 +34,188 @@ key = [ "0x0000000000000000000000000000000000000000000000000000000000000008", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000006b36e989fcb0f48274657e892bc7cebf7e", - "0x00000000000000000000000000000000000cbdeb4be5ecc3195d16cc90567a3a", - "0x0000000000000000000000000000001c846d9d9a9c0398e189b899be8ad7c09d", - "0x000000000000000000000000000000000028879c559541e43b2dfef3171c517c", - "0x00000000000000000000000000000096f2f4e04119e6c95be70b64fbba3b309c", - "0x00000000000000000000000000000000002a0d70f1109c6f7b8c3b59eb7830e9", - "0x0000000000000000000000000000000365ccc83973015af4309ae7de151eefd4", - "0x00000000000000000000000000000000001bed9fbb7c38d32c576e9e69d43694", - "0x000000000000000000000000000000476c1f7b2518fb4332f13077a8cfa93453", - "0x000000000000000000000000000000000023ac20ca86cb173c2608cd4afa1930", - "0x000000000000000000000000000000798ef5d10688ea9a8cdcc069ccf803bf7d", - "0x00000000000000000000000000000000000a53d911fb269e0f6f43d45a53ec63", - "0x0000000000000000000000000000008ac2a1045199b028cfb4d3d4c9949ed75a", - "0x0000000000000000000000000000000000289a88e3eff8a537aed8c2f7ba044b", - "0x000000000000000000000000000000a093cbe6bda8ae64f91f8bab5178a552db", - "0x0000000000000000000000000000000000275915bd19e70597b2a1e11f23a4b6", - "0x0000000000000000000000000000002c94db86921f70af974e84a6a4cb7498e7", - "0x00000000000000000000000000000000000664f64f56d7680298204955d26b29", - "0x000000000000000000000000000000533b653d761df17a44e6a4504d81e759b6", - "0x00000000000000000000000000000000001906f815928ddd614e39a1f978cbac", - "0x000000000000000000000000000000a7b5b9951fda167f5919d468002703d829", - "0x00000000000000000000000000000000002e7226141d975dd78955e796dd164b", - "0x000000000000000000000000000000fb63544587b7060d166ab7ba46aba3f08e", - "0x00000000000000000000000000000000000f2f54de9419fe622291ed5ed9eec9", - "0x000000000000000000000000000000cf3f0cf483e3b60ac46e2580628429291f", - "0x0000000000000000000000000000000000179a988d2f894ba4cc456686236e49", - "0x00000000000000000000000000000041c39c0b069ca7761686f7caf8bd51c343", - "0x0000000000000000000000000000000000133887aa49f10beeb3cc30b3284c69", - "0x00000000000000000000000000000090d53c6a3b26339cda6b73df9208314159", - "0x0000000000000000000000000000000000298c3311fc9170f92de940b042aab9", - "0x000000000000000000000000000000bf37537eb196b05c1d98fa51016a9bacbb", - "0x000000000000000000000000000000000007b05f408a612847259016b9204ae4", - "0x0000000000000000000000000000001a9650137fef18a5430542e54818e8df8e", - "0x00000000000000000000000000000000000065873582e9d566a71eb84033672f", - "0x0000000000000000000000000000005773b38f228f5f077eabf0f8fd2c57095d", - "0x0000000000000000000000000000000000009b41ae800d512b887823bb70ffb2", - "0x00000000000000000000000000000036105f719445624b3ff086475e309d57f5", - "0x000000000000000000000000000000000021bbe4db73ad5db2902bbbfe2ec847", - "0x000000000000000000000000000000fd1eac1ff68888138c69a10736f764c276", - "0x0000000000000000000000000000000000179cb559c651336d44f26a5b1d849d", - "0x00000000000000000000000000000035c9cb5f001915ccb707544d8295b4e4f8", - "0x00000000000000000000000000000000002451c090209c18e440624b96591a23", - "0x000000000000000000000000000000381694f1ab41bc30edb347a4618bbcb253", - "0x00000000000000000000000000000000002668cb793c6bcc3153efc3e521e40c", - "0x00000000000000000000000000000026a0352c25cccd1aea682fc8e975804a3e", - "0x0000000000000000000000000000000000172c855547ef1cf358b1193059ab94", - "0x000000000000000000000000000000c746ba121a8412b23d1a54c2679b7fcb42", - "0x0000000000000000000000000000000000188578f3213bb6dba81fc0826a77f1", - "0x000000000000000000000000000000b8bfc0ec72460534646ca70473b769e469", - "0x0000000000000000000000000000000000049b8d0d775977aced41eb139190a1", - "0x00000000000000000000000000000096f3f7b6aadf2bd52f2924c7122667ce25", - "0x00000000000000000000000000000000000525a7e6f2f97879bcc820bf777253", - "0x000000000000000000000000000000f4d3cf67a283478a5eac6fbe17ee96eed2", - "0x00000000000000000000000000000000000ad1b561d9594259b882488d0cc327", - "0x000000000000000000000000000000a411ca082e39592f1fc853c2d513bbd5aa", - "0x000000000000000000000000000000000008d3f884d8438ee5215018dcaa188a", - "0x000000000000000000000000000000e21fbc2b91d869007a1617bf0a7ac2464e", - "0x00000000000000000000000000000000001c99d7e58390e1218a42405fc9edea", - "0x000000000000000000000000000000036c627bee51735f1c3b112847c0053609", - "0x000000000000000000000000000000000017a920dc865673d42da879a77807e7", - "0x000000000000000000000000000000036b6c53513dff73708fc471be40708659", - "0x000000000000000000000000000000000027043300bd6c923409735a65ce98ee", - "0x000000000000000000000000000000a5ebd7e48c4581b92e1a0315fd1f5f6a06", - "0x00000000000000000000000000000000001a6b5eb7388b5e04168befce24d07a", - "0x000000000000000000000000000000a9038b7594683ab2a9ec3ce97efa44b8e7", - "0x00000000000000000000000000000000000595d26d43c71aadc00f8f491b7593", - "0x000000000000000000000000000000d602ee9e20686c91809ed47f8baff4fce0", - "0x00000000000000000000000000000000000ab2f2dd4d73cb30bde326eda9ed14", - "0x0000000000000000000000000000005be54127b72f21b1b83777dac39e4c87ea", - "0x00000000000000000000000000000000000131f00f042923f95a0e8c6d64892d", - "0x0000000000000000000000000000001118cd368e870728e0d1f412298c9a65f7", - "0x000000000000000000000000000000000026add52478248d754153bdce61f3c1", - "0x00000000000000000000000000000009154d3ec9f3bcb2df35a69bd0fb79208d", - "0x00000000000000000000000000000000001d613f6e65a57a1a1030ccb344d8a2", - "0x000000000000000000000000000000bb2a219ac198512f1a908e61ef9cbf9e42", - "0x00000000000000000000000000000000001f707d2d07e454f19f75f6d663bbc4", - "0x00000000000000000000000000000086b9a8c5acfbc532ffff6fba3134e9f038", - "0x00000000000000000000000000000000001e0e81a4b32e0b53fd1b419850835c", - "0x0000000000000000000000000000000ab14d96e68c9ae60ccf77717352e0f361", - "0x00000000000000000000000000000000000367e2302bedd0779777a919482f46", - "0x0000000000000000000000000000005e702135199675b0eda0f599c95366df39", - "0x00000000000000000000000000000000002ee595025e2d81d67fca35e75a7d29", - "0x000000000000000000000000000000beb2f84caf57feac059949820d628b275f", - "0x000000000000000000000000000000000000980aa78f659e9d9bb1b75026e47c", - "0x000000000000000000000000000000a984cb21527c59527b1a46d94444017688", - "0x00000000000000000000000000000000002bf65486b4acfe48a82d7cbd4f0090", - "0x000000000000000000000000000000142e989f44d6d395036693548aa07c70c2", - "0x00000000000000000000000000000000002b11210c4a8d195242600467a70652", - "0x000000000000000000000000000000f6f4596202301b6ae4eb0ebbeadd203340", - "0x00000000000000000000000000000000000adc89c48d75b571636f5bbeb4a806", - "0x00000000000000000000000000000000034e3e27454ef992b4bf84b97baa7471", - "0x0000000000000000000000000000000000066f28135748f119631c3fe07fa9d7", - "0x0000000000000000000000000000003b64a66f2ac4979b65e56568c5a31b14ed", - "0x00000000000000000000000000000000002e25783551df50c004ec7cd1f4dd8b", - "0x000000000000000000000000000000e8258f84477c1b62565a559ba7bb38832e", - "0x000000000000000000000000000000000018f76cf0ceeccb4798de741ae89b64", - "0x000000000000000000000000000000353d43fa70e99239c1c1c67e271a0eeac5", - "0x00000000000000000000000000000000002d299fb68678d0150bcc5b16dc8252", - "0x0000000000000000000000000000002814ede7cd27daed00c33c12860bc4b046", - "0x000000000000000000000000000000000015d3ac5a199abb74933a4efc98c59b", - "0x000000000000000000000000000000469680c270e551515344592f59188fa765", - "0x00000000000000000000000000000000002d38d6d4ba1e4763a74ecdb11ca1f3", - "0x000000000000000000000000000000fce917c0d5dca019477c52f6075332b612", - "0x000000000000000000000000000000000012db39e892826b32610ee08251e005", + "0x0000000000000000000000000000009c0851ac3cab8702f8b16f2490b6e515cd", + "0x00000000000000000000000000000000000613bf058208542e18df98311956bb", + "0x0000000000000000000000000000000df8db7b867bc84f0c9a63c9efc6644ad3", + "0x0000000000000000000000000000000000247f7786836be71c84dd02340a158c", + "0x00000000000000000000000000000055fc4f789049f315edde065d4cbdecde13", + "0x000000000000000000000000000000000009613aefa46fd3112500aafec90725", + "0x000000000000000000000000000000427072824a91fc93e553190cf8af70207e", + "0x0000000000000000000000000000000000186392a0c1ade5badf9c905f3f6c6f", + "0x000000000000000000000000000000b2a4f3dc58fb59b487aea5ca0012a5a20e", + "0x000000000000000000000000000000000003d077e8dbdc182745ddd2abfb157c", + "0x0000000000000000000000000000004dad1f89e17dcfb807355dde93df3c8df3", + "0x00000000000000000000000000000000000720f1715dec4e461b50f5315cb18e", + "0x0000000000000000000000000000002abbc35e4ead097c520af920c0d21a3c8f", + "0x000000000000000000000000000000000026551ff1b980a7c8d6f55c3a35ad23", + "0x000000000000000000000000000000bd14e06817e6144eb7f77c8131c44be7df", + "0x00000000000000000000000000000000000d87625e1722073caff53f3e3a042b", + "0x0000000000000000000000000000005e1a80c8b1fe851914a57b6526ebc0c94a", + "0x00000000000000000000000000000000001d1ee6fc186d8801cad952e63496d9", + "0x0000000000000000000000000000009a48df8da0e70726c8aaf7818c015097f3", + "0x00000000000000000000000000000000001636f0a0b0e84600adebdb1bc41490", + "0x00000000000000000000000000000042734701dd80655bbd3617b2b121c5470f", + "0x000000000000000000000000000000000018b81beb6cfd3bfa6338f61d26c029", + "0x00000000000000000000000000000069247d316e21bc4379db9d622df335b45f", + "0x00000000000000000000000000000000000820ba8e0a85dfd473c9ba7de986b3", + "0x00000000000000000000000000000023745a67f551ccdd16c1a0b38ef26140eb", + "0x0000000000000000000000000000000000198420114535a1bfa0d26938e51cdd", + "0x000000000000000000000000000000d39b80ea16f64157869800f8f8cf3da523", + "0x00000000000000000000000000000000000190c0fa3205554acd735ce9f577b6", + "0x0000000000000000000000000000009acb5cb536b55ea20cc347d017099b55d6", + "0x00000000000000000000000000000000002b616e6b6149b096388f3375e9d96d", + "0x000000000000000000000000000000f81c25a96838a586c90e9d7af46d9fd10b", + "0x00000000000000000000000000000000002f650eadf407d939ac8ffcab5add37", + "0x000000000000000000000000000000338ad50a1842e5632ba4d305451d762fca", + "0x000000000000000000000000000000000013b40b39a40b302985e89b3528684b", + "0x00000000000000000000000000000080768e6753a8073272c08d4176a17859e8", + "0x0000000000000000000000000000000000231350483ee0e4ac6d601c87df3890", + "0x000000000000000000000000000000440e6da3a63520038ac06c29ad357f8d03", + "0x000000000000000000000000000000000013c2a72d1c40e4ffd540aa5691235b", + "0x00000000000000000000000000000075fe8ad10c58d5cceb7af96f5ea9dc979a", + "0x00000000000000000000000000000000000d6779bc82975b0e956d8e3e78c02e", + "0x0000000000000000000000000000007620f1f20c038619dfcc902a31dad53aa3", + "0x00000000000000000000000000000000001136cd377a5438f89f1112d8ffc7d5", + "0x000000000000000000000000000000c3d364062b472693062f4b48d9f126326c", + "0x000000000000000000000000000000000003179c4aa7c2e87eec3e2510b2250e", + "0x000000000000000000000000000000c6b4c6812b5372425cf5c5911e24b983ea", + "0x000000000000000000000000000000000002c2d935d27a189573c4ce81899216", + "0x000000000000000000000000000000ef3535ba076601843252ebd5b0e7f332b2", + "0x000000000000000000000000000000000014a07f740e827b49e7b49726c30265", + "0x0000000000000000000000000000000a0c2386b23ef68c2ad32a306393f0bd53", + "0x00000000000000000000000000000000002edfe8f3575b3ad35aad0d2979bca3", + "0x0000000000000000000000000000003d3c11c749c8d07daf3d6acfb9187a72b7", + "0x00000000000000000000000000000000000e1904b8c5bb3a8621f77775e6fea5", + "0x000000000000000000000000000000e607e518a26ce23d4968b3dc3b35228a54", + "0x000000000000000000000000000000000011e8fe720fc542908c45ef762db849", + "0x0000000000000000000000000000005ab38bf4038ce61ad08f5448fae170af64", + "0x00000000000000000000000000000000002fdb34097a115e19c7ffade6abc79c", + "0x0000000000000000000000000000003f9d50bf1a65788f4c0bf9d0c3af952126", + "0x00000000000000000000000000000000001b6e2aadeafc2ee6231fdd81d515ad", + "0x000000000000000000000000000000c9f88c7b88a877c8a42631677d9e42a04b", + "0x0000000000000000000000000000000000260f9175307c294892d8f24a23dc36", + "0x000000000000000000000000000000c387ef3f0bc3cd548ffe89511e76570659", + "0x00000000000000000000000000000000000b6e2fe38463e7dfc02c17e40b686f", + "0x0000000000000000000000000000008a962a9bdcc4f48af68d2152392a809364", + "0x0000000000000000000000000000000000072c1f10a015dda6c4d5238a9bb8e4", + "0x000000000000000000000000000000b8a20707e81e1f2ed6f1d8df319474b728", + "0x000000000000000000000000000000000013da71953e3ba7845a172644988ff0", + "0x0000000000000000000000000000001196ba3203a0f232cd957e758c527b81a7", + "0x00000000000000000000000000000000002dab654380a01df5bd91f7f9fc180d", + "0x000000000000000000000000000000926468576683a3de1bea444aef5eb46bd4", + "0x00000000000000000000000000000000001fdb8907f316642ed42f08ea267b62", + "0x00000000000000000000000000000022022ff22779b898d976f728d904c546be", + "0x00000000000000000000000000000000000c95c93cc4d17e351bf4fc503c7436", + "0x000000000000000000000000000000cd2b99d2b292d723fe69c95aacb61ebca0", + "0x00000000000000000000000000000000001b23e46668182c4e5ef2ed26f916fd", + "0x0000000000000000000000000000000b340c040a94df6c288296ed9e40f76c47", + "0x000000000000000000000000000000000026d18c4da3eeafcd581ac7288a1093", + "0x000000000000000000000000000000972da678b1c65b9566c8b138e0cbfec1bc", + "0x000000000000000000000000000000000007e0c54f0962bf79ce2a99a7092aea", + "0x0000000000000000000000000000001ad49d975baf1e91957ac9431dc63f9efd", + "0x00000000000000000000000000000000002eace0288a134417703f51719b8774", + "0x00000000000000000000000000000003596d5fdfd8a1623d991fd9fd528b9a31", + "0x000000000000000000000000000000000000ac2e0bbfb9f6710bab1b476df4f5", + "0x000000000000000000000000000000fcd559256eb26c17c295cc4e53f99c94b6", + "0x00000000000000000000000000000000002fe008c880a2075e2431207347c33e", + "0x000000000000000000000000000000dc2ffe09726d00396b24378038559cc081", + "0x000000000000000000000000000000000020cf3f101e65bb4cbec63680fbaa6a", + "0x0000000000000000000000000000003486b8f4776305b7351add5f8c20d900ef", + "0x00000000000000000000000000000000000e9623a997174ddbaa9d9554bb39a5", + "0x0000000000000000000000000000000d04c904b2c5f624d26669530334cc4b25", + "0x00000000000000000000000000000000000b36939303a8c5e92259b7a4b16ffe", + "0x000000000000000000000000000000c086e27f564430986bc964d09a282fb750", + "0x0000000000000000000000000000000000066bb40e548ad34d12e3f39f5e392b", + "0x000000000000000000000000000000610306556851631dd6304561e8fe91ed13", + "0x000000000000000000000000000000000011bf4025cb983957cfeb5a2cebda60", + "0x00000000000000000000000000000018e61ac2cec1d8c1aa9d7d678b7a947031", + "0x0000000000000000000000000000000000145e7aa0fb8e50873c7e8ae562a427", + "0x000000000000000000000000000000d145aac6b329c0831c1541d5c88c171666", + "0x00000000000000000000000000000000001ed4a2ea5183d97490a265d184ed9e", + "0x00000000000000000000000000000016c6302662e92a3a32b9b8f824b58cc78a", + "0x00000000000000000000000000000000001d7f5e64a099c6aa63052a1196db25", + "0x000000000000000000000000000000fe716dd150329d8164d09fbce114f85659", + "0x0000000000000000000000000000000000001d8ee895257e5b8a525b7d98d473", + "0x00000000000000000000000000000038171d7f06a80e075a97705157118d6b0b", + "0x0000000000000000000000000000000000259b3dff83158e703b961c37e90120", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000002601343ed9ec702f7e521ebe0ffbd691f3", - "0x000000000000000000000000000000000012ff74941b932aa806c1bc5e1a178f", - "0x0000000000000000000000000000005cfadbe0d6f87ff27fb836c4f6cbb5f414", - "0x00000000000000000000000000000000000f4f5d92fbaa233a1b3681560577ec", - "0x0000000000000000000000000000006241ca0c75be2d15e6b9188983d6b41e2d", - "0x00000000000000000000000000000000001a71ab9767b295f9337074850d2d40", - "0x000000000000000000000000000000ec7f970d2da2ca7f41836eb044f5a75b01", - "0x00000000000000000000000000000000001a9a63c00430414d47f85b2352b1d7", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a", + "0x000000000000000000000000000000f24508ddacd8fdab428975081accb738b9", + "0x00000000000000000000000000000000000ccaa24938cb0227610c81c50a50cb", + "0x00000000000000000000000000000071ae3820b32f96d381a1d0bc647649cf18", + "0x00000000000000000000000000000000001e79788a49cb7c52cf4612d50d01d8", + "0x000000000000000000000000000000c2b34bcc8a5125396ad89848312a3e7894", + "0x0000000000000000000000000000000000279be7e16a96c1710584dac89de72d", + "0x0000000000000000000000000000009884b93d89228ba072daa18f2b792a97cc", + "0x00000000000000000000000000000000000602aab1aa16e1f9baa4a2d2e13cc1", + "0x000000000000000000000000000000cc2411e675859a0b8304fec0a5490b5e93", + "0x000000000000000000000000000000000019599133b74e15b1b7cd20473a6fac", + "0x000000000000000000000000000000d3a882cf4261b0f6e2b04e894a031fb1db", + "0x00000000000000000000000000000000001ac56d8462aa7cac1d61eb350f1aee" ] -hash = "0x089516eb536f5bcde95e03095e0702a013100b0c70b9bb7131ebd2f57b40ea52" + hash = "0x10d3b9d13f2267a83e7a6f099e01dd70c8bc28fe8c93eebb616b31b69bf99880" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" is_private_only = true -claimed_first_nullifier = "0x0e4066147fc8ac2b969caa4493d06966719c626262227398154eefd146a6b8bd" +claimed_first_nullifier = "0x094412ee6524f6ca0441ba0a5083a1fc71ccbae790ceff64d9e5e499228e1839" -[previous_kernel_public_inputs.constants] -vk_tree_root = "0x21d971c64d3619099dafa73842f3706996ff14fa9d32f509bb26ae93dfd3f686" -protocol_contract_tree_root = "0x22c0e4f2a805886466bd0a7225ac03637630dcb01a306fa4b122a42c0c6a3f10" + [previous_kernel_public_inputs.constants] + vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" + protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" -[previous_kernel_public_inputs.constants.historical_header] -total_fees = "0x000000000000000000000000000000000000000000000000000002234738a6dc" -total_mana_used = "0x000000000000000000000000000000000000000000000000000000000003e4b5" + [previous_kernel_public_inputs.constants.historical_header] + total_fees = "0x00000000000000000000000000000000000000000000000000000015b099d070" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000015991" -[previous_kernel_public_inputs.constants.historical_header.last_archive] -root = "0x182ece3a6471a364fdb90dac6ee36013aa3be5f8b00a3edae015ae194590f266" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000005" + [previous_kernel_public_inputs.constants.historical_header.last_archive] + root = "0x23520abe588666a33f4a84275f6fefe5f5207d027617374a803fd2e4a0091ec9" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" -[previous_kernel_public_inputs.constants.historical_header.content_commitment] -num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" -blobs_hash = "0x00dbbc8e274b20691c819f6c5ccdaa3317c048cdf7e346aca53a9ad0338e33f4" -in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" -out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.constants.historical_header.content_commitment] + num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" + blobs_hash = "0x006a0f5e919dc9288760027e31a1e696774efc08c96b3c1dd43f68ee1b9f6359" + in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" + out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.state.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000050" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [previous_kernel_public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x1d2a0372ac57ea0f5e4878ef40b3876d986df26d9039093d56426b8d05c1aa95" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x300782ca3597643e3bd4ef7c4122e409019f3e970a5e27cac7511d3bceca71b4" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x17043d2abd1baca090b8b982811b5e202356adbc5d2b1e262c33c7846acf08dd" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000099" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" -[previous_kernel_public_inputs.constants.historical_header.global_variables] -chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" -version = "0x0000000000000000000000000000000000000000000000000000000000000001" -block_number = "0x0000000000000000000000000000000000000000000000000000000000000005" -slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" -timestamp = "0x0000000000000000000000000000000000000000000000000000000067af1dda" + [previous_kernel_public_inputs.constants.historical_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000000000001" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34871" -[previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] -inner = "0x00000000000000000000000036878ef7e244777d78d353a8a91073f7f9f4b9d2" + [previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" -[previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] -fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000008c90ec" + [previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000101170" -[previous_kernel_public_inputs.constants.tx_context] -chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" -version = "0x0000000000000000000000000000000000000000000000000000000000000001" + [previous_kernel_public_inputs.constants.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" @@ -227,7 +227,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000186c3f" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -235,15 +235,15 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [previous_kernel_public_inputs.validation_requests.for_rollup.max_block_number._opt] _is_some = true -_value = "0x0000000000000000000000000000000000000000000000000000000000000e15" +_value = "0x0000000000000000000000000000000000000000000000000000000000000e17" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.read_request] -value = "0x19a0c6005860f89e0e94e26f514bc2952e7f1ba490521fadffc8ea72be85f837" +value = "0x2eb3174caf2c3c548717dbbc15ccd7c9dad2acc8af7f7d24a9734839f1edd529" counter = "0x0000000000000000000000000000000000000000000000000000000000000002" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.contract_address] -inner = "0x30115c80b13c0a42019f2e58b75086cf4053674b689df29e2c9581447f32cf2f" +inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.read_request] @@ -1265,13 +1265,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1280,13 +1280,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1295,13 +1295,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1310,13 +1310,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1325,13 +1325,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1340,13 +1340,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1355,13 +1355,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1370,13 +1370,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1385,13 +1385,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1400,13 +1400,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1415,13 +1415,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1430,13 +1430,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1445,13 +1445,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1460,13 +1460,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1475,13 +1475,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1490,13 +1490,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1505,13 +1505,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1520,13 +1520,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1535,13 +1535,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1550,13 +1550,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1565,13 +1565,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1580,13 +1580,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1595,13 +1595,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1610,13 +1610,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1625,13 +1625,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1640,13 +1640,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1655,13 +1655,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1670,13 +1670,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1685,13 +1685,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1700,13 +1700,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1715,13 +1715,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1730,13 +1730,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1745,13 +1745,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1760,13 +1760,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1775,13 +1775,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1790,13 +1790,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1805,13 +1805,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1820,13 +1820,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1835,13 +1835,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1850,13 +1850,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1865,13 +1865,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1880,13 +1880,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1895,13 +1895,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1910,13 +1910,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1925,13 +1925,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1940,13 +1940,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1955,13 +1955,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1970,13 +1970,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1985,13 +1985,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2000,13 +2000,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2015,13 +2015,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2030,13 +2030,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2045,13 +2045,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2060,13 +2060,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2075,13 +2075,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2090,13 +2090,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2105,13 +2105,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2120,13 +2120,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2135,13 +2135,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2150,13 +2150,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2165,13 +2165,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2180,13 +2180,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2195,13 +2195,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2210,13 +2210,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request] sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.request.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2739,7 +2739,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers]] [previous_kernel_public_inputs.end.nullifiers.nullifier] -value = "0x0e4066147fc8ac2b969caa4493d06966719c626262227398154eefd146a6b8bd" +value = "0x094412ee6524f6ca0441ba0a5083a1fc71ccbae790ceff64d9e5e499228e1839" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3318,8 +3318,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" content = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3329,8 +3329,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" content = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3340,8 +3340,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" content = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3351,8 +3351,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" content = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3362,8 +3362,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" content = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3373,8 +3373,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" content = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3384,8 +3384,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" content = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3395,8 +3395,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" content = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3406,9 +3406,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3426,6 +3425,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3436,9 +3436,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3456,6 +3455,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3466,9 +3466,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3486,6 +3485,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3496,9 +3496,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3516,6 +3515,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3526,9 +3526,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3546,6 +3545,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3556,9 +3556,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3576,6 +3575,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3586,9 +3586,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3606,6 +3605,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3616,9 +3616,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3636,6 +3635,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3646,9 +3646,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3666,6 +3665,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3676,9 +3676,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3696,6 +3695,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3706,9 +3706,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3726,6 +3725,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3736,9 +3736,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3756,6 +3755,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3766,9 +3766,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3786,6 +3785,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3796,9 +3796,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3816,6 +3815,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3826,9 +3826,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3846,6 +3845,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3856,9 +3856,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3876,6 +3875,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3886,9 +3886,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3906,6 +3905,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3916,9 +3916,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3936,6 +3935,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3946,9 +3946,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3966,6 +3965,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3976,9 +3976,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3996,6 +3995,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4006,9 +4006,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4026,6 +4025,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4036,9 +4036,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4056,6 +4055,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4066,9 +4066,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4086,6 +4085,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4096,9 +4096,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4116,6 +4115,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4126,9 +4126,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4146,6 +4145,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4156,9 +4156,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4176,6 +4175,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4186,9 +4186,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4206,6 +4205,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4216,9 +4216,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4236,6 +4235,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4246,9 +4246,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4266,6 +4265,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4276,9 +4276,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4296,6 +4295,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4306,9 +4306,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4326,6 +4325,7 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4336,9 +4336,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_logs.inner.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + [previous_kernel_public_inputs.end.private_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4356,549 +4355,3572 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [previous_kernel_public_inputs.end.private_logs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[previous_kernel_public_inputs.end.contract_class_logs_hashes]] -[previous_kernel_public_inputs.end.contract_class_logs_hashes.log_hash] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.contract_class_logs_hashes.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] +[[previous_kernel_public_inputs.end.contract_class_logs]] +[previous_kernel_public_inputs.end.contract_class_logs.inner] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] + [previous_kernel_public_inputs.end.contract_class_logs.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + +[previous_kernel_public_inputs.end.contract_class_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_call_stack]] -args_hash = "0x2520065232ac85d18f98e0987076f68dbbd2660f8f5b8c50ac0408fdd014d6d8" +args_hash = "0x3035e4e761c34524d423eb5f7b2481b743f3b2f702d3dbcce1d02e0445cf77a0" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000c" -[previous_kernel_public_inputs.end.private_call_stack.call_context] -is_static_call = false + [previous_kernel_public_inputs.end.private_call_stack.call_context] + is_static_call = false -[previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] -inner = "0x30115c80b13c0a42019f2e58b75086cf4053674b689df29e2c9581447f32cf2f" + [previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" -[previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] -inner = "0x063951d8a111a809db4098fe0146d185698cb0651ea8953607998767eae4617c" + [previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] + inner = "0x13ce6e12aee9046b7e1d8c0753ddfe92b2d2c01a1e64c8335cc522c1592be269" -[previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] -inner = "0x000000000000000000000000000000000000000000000000000000000c508454" + [previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] + inner = "0x000000000000000000000000000000000000000000000000000000000c508454" [[previous_kernel_public_inputs.end.private_call_stack]] args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4906,17 +7928,17 @@ returns_hash = "0x00000000000000000000000000000000000000000000000000000000000000 start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context] -is_static_call = false + [previous_kernel_public_inputs.end.private_call_stack.call_context] + is_static_call = false -[previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_call_stack]] args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4924,17 +7946,17 @@ returns_hash = "0x00000000000000000000000000000000000000000000000000000000000000 start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context] -is_static_call = false + [previous_kernel_public_inputs.end.private_call_stack.call_context] + is_static_call = false -[previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_call_stack]] args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4942,17 +7964,17 @@ returns_hash = "0x00000000000000000000000000000000000000000000000000000000000000 start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context] -is_static_call = false + [previous_kernel_public_inputs.end.private_call_stack.call_context] + is_static_call = false -[previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_call_stack]] args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4960,17 +7982,17 @@ returns_hash = "0x00000000000000000000000000000000000000000000000000000000000000 start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context] -is_static_call = false + [previous_kernel_public_inputs.end.private_call_stack.call_context] + is_static_call = false -[previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_call_stack]] args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4978,17 +8000,17 @@ returns_hash = "0x00000000000000000000000000000000000000000000000000000000000000 start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context] -is_static_call = false + [previous_kernel_public_inputs.end.private_call_stack.call_context] + is_static_call = false -[previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_call_stack]] args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4996,17 +8018,17 @@ returns_hash = "0x00000000000000000000000000000000000000000000000000000000000000 start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context] -is_static_call = false + [previous_kernel_public_inputs.end.private_call_stack.call_context] + is_static_call = false -[previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_call_stack]] args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5014,39 +8036,39 @@ returns_hash = "0x00000000000000000000000000000000000000000000000000000000000000 start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context] -is_static_call = false + [previous_kernel_public_inputs.end.private_call_stack.call_context] + is_static_call = false -[previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.end.private_call_stack.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.public_teardown_call_request] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.public_teardown_call_request] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.public_teardown_call_request.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.public_teardown_call_request.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.public_teardown_call_request.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [previous_kernel_public_inputs.public_teardown_call_request.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.fee_payer] -inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" + [previous_kernel_public_inputs.fee_payer] + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" [private_call.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000100000", "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x00000000000000000000000000000000000000000000000000000000000328b1", + "0x00000000000000000000000000000000000000000000000000000000000353a9", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", @@ -5067,150 +8089,150 @@ key = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000d0f24ae07c53979f027820c5903918279b", - "0x00000000000000000000000000000000002112c3cb02fa2655d1d0bfa01ff2fd", - "0x0000000000000000000000000000007821427795740bab1af6afe68afeaf8745", - "0x000000000000000000000000000000000021bd496e0fd85a7685f6749e0e2f40", - "0x0000000000000000000000000000009f77f46b2952c974bf95623c8ae4cbedd5", - "0x000000000000000000000000000000000018715a70fa33ec70ca2971068ba9d2", - "0x000000000000000000000000000000b34dc548042f2e9974aaa4d684abce8a14", - "0x000000000000000000000000000000000017d64063a82e93fa034b9e7281bb68", - "0x0000000000000000000000000000003459b9ecab885b34debed4d111bf29c160", - "0x000000000000000000000000000000000005d1a7fb656242aa4c47b9a721874d", - "0x000000000000000000000000000000e6dd04a25cc6cde4168816df5f4bdce5a7", - "0x00000000000000000000000000000000002ae349869c6bd96dce738583185c65", - "0x000000000000000000000000000000a294a2403c1f6aa211e4e558e34932eccd", - "0x00000000000000000000000000000000000320d37f9fa7753ccbe3d8a16157ea", - "0x0000000000000000000000000000002f674a1948abf2fe832219907cdd0091ca", - "0x00000000000000000000000000000000002c598b0b681a3682d85fd6bb5bd5d5", - "0x000000000000000000000000000000d821114ad5c9c439b68b1ceafeb3f8f4c4", - "0x00000000000000000000000000000000002c7d23b4cb68a41adf72846337da1d", - "0x000000000000000000000000000000d6e20dee3a7c7b9574ef85ce18befe83e3", - "0x000000000000000000000000000000000011ff03a9e7a9635294b048b53c2ab8", - "0x0000000000000000000000000000001231ce534a849e081803d20a9a73031857", - "0x00000000000000000000000000000000000aa9f9bb1cfc41d723bbb16bd742d7", - "0x0000000000000000000000000000006a08d056c9ebe2cc03a3fb5691f39c14a3", - "0x00000000000000000000000000000000002756f7e3b1eb8acfe17f77e0a7632e", - "0x000000000000000000000000000000552393d09533e1b2004bd84e9f8a53a88f", - "0x00000000000000000000000000000000000456bb701b5b0b463bbcf0c4fe7190", - "0x00000000000000000000000000000074156481e9a3f8f091d30db1003a6daab4", - "0x00000000000000000000000000000000000380f4e6bb304776bfd4fb22e20987", - "0x00000000000000000000000000000090d53c6a3b26339cda6b73df9208314159", - "0x0000000000000000000000000000000000298c3311fc9170f92de940b042aab9", - "0x000000000000000000000000000000bf37537eb196b05c1d98fa51016a9bacbb", - "0x000000000000000000000000000000000007b05f408a612847259016b9204ae4", - "0x000000000000000000000000000000906e430726fd837b3ff6c1bc1a03c37ab0", - "0x00000000000000000000000000000000000ca88a6b594f166075a7f1fe5ed69c", - "0x0000000000000000000000000000004740870a401f788841b3ca80ffdcd768bf", - "0x000000000000000000000000000000000012eff68d219e805e7ac7f191d545b9", - "0x000000000000000000000000000000c0dde24b40843332cba16e5819b70252e8", - "0x000000000000000000000000000000000028d8801d55f465e503ea406c01aba5", - "0x000000000000000000000000000000948b3a2c03a15b1cefaf61a304e4a719da", - "0x000000000000000000000000000000000003b7cfd2b82a92094655eebf43f587", - "0x00000000000000000000000000000051a87cef6fc1fc139c638070eeb6332e56", - "0x00000000000000000000000000000000002f54bb0062b7d1188f56014b559e12", - "0x0000000000000000000000000000008b54df63e7e28a33d41f9da53348df041e", - "0x000000000000000000000000000000000012e92e36a0c7a2bcdf5fc5556a4359", - "0x0000000000000000000000000000001391e66608c470664e43f3848126ec8275", - "0x00000000000000000000000000000000002b0ed41e83d59c4dab3ba4112a9ece", - "0x0000000000000000000000000000000b199fe9bb72fbf94f3a16c3e451fe6cf4", - "0x00000000000000000000000000000000001aeef4d3ecfa86b4c40343ea7f7eff", - "0x0000000000000000000000000000002ac5cca6118d139ec7f25a9b76a5ddcafe", - "0x0000000000000000000000000000000000234c4d5c9182f86728981254d9b542", - "0x00000000000000000000000000000073e9bec3d89f0a089185e5c495abc03f49", - "0x00000000000000000000000000000000000e8e66e8280d22daafda145be28759", - "0x000000000000000000000000000000fdf638672b651ed51efc005c104462f0e6", - "0x0000000000000000000000000000000000080352ea8b7367481b2706ade1e8dd", - "0x0000000000000000000000000000000fb762794564a807d2fe4f1796aeb91374", - "0x00000000000000000000000000000000002fb18b04275219efb2d8b9993ac5a4", - "0x000000000000000000000000000000fa3689d35598b509dcb3a63858af8b6b75", - "0x0000000000000000000000000000000000117f98fde596f79a6fc5e1a7e26b78", - "0x000000000000000000000000000000c64c8c3286028eed0b1534927795a4cf68", - "0x00000000000000000000000000000000002440da69173bad9683ef9780a9d308", - "0x00000000000000000000000000000058f67ee114d27a4af6803ba8767d9c9185", - "0x00000000000000000000000000000000002d711988a56d31e63010bb81d030b2", - "0x00000000000000000000000000000081cafd0f66b27324bf2524ae3376522d32", - "0x000000000000000000000000000000000003a58f4dd50c2781847dd40fe700df", - "0x000000000000000000000000000000a953038a5c7322b8440190a6607e048a47", - "0x000000000000000000000000000000000009284b2c60eebb72a0ac0bcae3137f", - "0x0000000000000000000000000000000b194a39973f99250da852bdf114473da4", - "0x000000000000000000000000000000000006bbc63a17d4aca00e957a429a03fe", - "0x000000000000000000000000000000864db770a1c2050f329eed2d0392e4b18d", - "0x000000000000000000000000000000000005490606160acf8ac289fbd9dbcd3e", - "0x000000000000000000000000000000d5b29ff745dc7cf20daafd55b96896ac18", - "0x000000000000000000000000000000000004557daa92f73b7caaf5deb669f4c9", - "0x00000000000000000000000000000043ab8e610f59cf41e51755ac9177ffcdb2", - "0x00000000000000000000000000000000002a2b06e9ab1a4b0b4edcac4ced4999", - "0x000000000000000000000000000000a37c820d58b93dea04b7db51246afa4c01", - "0x000000000000000000000000000000000002dd4a039f385a9d76743206392180", - "0x0000000000000000000000000000000376bb6a3c6d5a70189a3de72865b508fe", - "0x00000000000000000000000000000000001e1873e31e4f19ebb9bdc02f5e63f4", - "0x000000000000000000000000000000f42cb662ce1d9a375168466de4cacd8470", - "0x00000000000000000000000000000000001fdcef2639c5711deea57ce27c27a6", - "0x00000000000000000000000000000018eb9219d75b46784413005e6652a9e1a4", - "0x00000000000000000000000000000000000236df738b5369ac3da26f88355e40", - "0x0000000000000000000000000000006dc25bae2fa73d6d336f7389e3ad2a2c0b", - "0x000000000000000000000000000000000002112fa771e9c5b4f240ad4a5fe50c", - "0x0000000000000000000000000000003a84d79e3a23b251b8c319bc7194e1d33e", - "0x00000000000000000000000000000000001ef1c16b5b8d51a3f12102926beaa0", - "0x0000000000000000000000000000004a255e99c101800790a99f3559ce94f61f", - "0x000000000000000000000000000000000021cf62234fb2b8032e58d8210913b3", - "0x000000000000000000000000000000f6f4596202301b6ae4eb0ebbeadd203340", - "0x00000000000000000000000000000000000adc89c48d75b571636f5bbeb4a806", - "0x00000000000000000000000000000000034e3e27454ef992b4bf84b97baa7471", - "0x0000000000000000000000000000000000066f28135748f119631c3fe07fa9d7", - "0x0000000000000000000000000000003b64a66f2ac4979b65e56568c5a31b14ed", - "0x00000000000000000000000000000000002e25783551df50c004ec7cd1f4dd8b", - "0x000000000000000000000000000000e8258f84477c1b62565a559ba7bb38832e", - "0x000000000000000000000000000000000018f76cf0ceeccb4798de741ae89b64", - "0x000000000000000000000000000000353d43fa70e99239c1c1c67e271a0eeac5", - "0x00000000000000000000000000000000002d299fb68678d0150bcc5b16dc8252", - "0x0000000000000000000000000000002814ede7cd27daed00c33c12860bc4b046", - "0x000000000000000000000000000000000015d3ac5a199abb74933a4efc98c59b", - "0x000000000000000000000000000000469680c270e551515344592f59188fa765", - "0x00000000000000000000000000000000002d38d6d4ba1e4763a74ecdb11ca1f3", - "0x000000000000000000000000000000fce917c0d5dca019477c52f6075332b612", - "0x000000000000000000000000000000000012db39e892826b32610ee08251e005", + "0x000000000000000000000000000000a76c1a6f80ea147114e31b4279c511ab2c", + "0x0000000000000000000000000000000000094680c0c8f876977ae7dc77615f2f", + "0x000000000000000000000000000000dfa9d2bea4d0bfc5b5f2fcae7fc131d614", + "0x00000000000000000000000000000000003039eff738120ca07c5ef9c5fcb812", + "0x00000000000000000000000000000015863cf7704152ac8a3af826bc7af035b0", + "0x00000000000000000000000000000000002d2cdcf08b26a9e3f5f1cabd2d3a03", + "0x000000000000000000000000000000375933f707f4a68cc0ad9981df18a4c5a5", + "0x00000000000000000000000000000000000ddd930d113fd5e7b6ca2c3cdefdb3", + "0x00000000000000000000000000000000fee300df544a801bb01cd44ac5a606f7", + "0x00000000000000000000000000000000001b47c449be13ceb62ac4c22f3268aa", + "0x000000000000000000000000000000ac9477450cd6bc83a985d597f7f1cce0a7", + "0x0000000000000000000000000000000000131013fad01a86d55b1aaf5a1a6ecb", + "0x000000000000000000000000000000b7651f9453024db10c97d955cd430337a5", + "0x00000000000000000000000000000000000ea2ed7db598fde34cf37f68a6ed13", + "0x0000000000000000000000000000009cd215279944f55090c987e47a70b89246", + "0x00000000000000000000000000000000001818f5a78334a9f50b643547633b1f", + "0x000000000000000000000000000000f5e6bf7871e30483ef3372913a35d49dd4", + "0x000000000000000000000000000000000018a9ef9b1b6668353e39afa7ae975e", + "0x000000000000000000000000000000ab05cd5584aab5c3286f73d8fc674f9936", + "0x00000000000000000000000000000000000e5dba0a6002f4c510dfefb63c4f6e", + "0x00000000000000000000000000000076e59936b5bd79333a2fc888d335f8f51b", + "0x00000000000000000000000000000000002813795c58da0e756c9d270b875970", + "0x000000000000000000000000000000b9066432267e2059d3eea5c7030746240e", + "0x00000000000000000000000000000000000fa0e1f3db8cd6553ddc604ff3efb5", + "0x000000000000000000000000000000268e80205544df2d2a002a05f42b79f0e1", + "0x0000000000000000000000000000000000157348ae18b2f224770023ed8c32e2", + "0x000000000000000000000000000000f762d419f3c8e0e295c1f15cf2141b2370", + "0x00000000000000000000000000000000001c15a73e459386696520b1def53890", + "0x0000000000000000000000000000009acb5cb536b55ea20cc347d017099b55d6", + "0x00000000000000000000000000000000002b616e6b6149b096388f3375e9d96d", + "0x000000000000000000000000000000f81c25a96838a586c90e9d7af46d9fd10b", + "0x00000000000000000000000000000000002f650eadf407d939ac8ffcab5add37", + "0x000000000000000000000000000000711c509c240dfb28f8d4b3e7c64297e5b8", + "0x00000000000000000000000000000000002d4b2f33879d607b33aad40a6cc836", + "0x000000000000000000000000000000d298fd54f440d1bb544286c58e37fd7b00", + "0x00000000000000000000000000000000001cbe9f9c8882ae2659cf02ae50cd0f", + "0x0000000000000000000000000000007828cc60e28e58876e87e9e63fd5349369", + "0x0000000000000000000000000000000000127fe284f07e2cbd1d602f07f484a0", + "0x000000000000000000000000000000362973ed3f7fa02fcd6a4d2029fdde6cdc", + "0x00000000000000000000000000000000002f9be1f98d455b0aa4005714e23bdc", + "0x00000000000000000000000000000098fb88c2869bcb2c856517cef27792544e", + "0x000000000000000000000000000000000029b63c76ee6921fc33a0815464aaed", + "0x000000000000000000000000000000f18be844547f470a21f29063ea508677c8", + "0x0000000000000000000000000000000000150237eec42e02410f0c2535dc58a8", + "0x000000000000000000000000000000f3f0dc4897a8a900f31cab369bbfb2f803", + "0x00000000000000000000000000000000000ee0cd33762b5218b1898295ee9c27", + "0x000000000000000000000000000000eaf9b28a63eb69ef29b0ed84465eb54aa1", + "0x000000000000000000000000000000000018148b624975cba9afd49d8da4ec0d", + "0x000000000000000000000000000000d4ffcb26d25d26ea73962ab82c99d98bd1", + "0x0000000000000000000000000000000000070a3bd6665433db642bab9a25b5db", + "0x00000000000000000000000000000052a1c7ad9a45f2bd5594b04219c359e313", + "0x00000000000000000000000000000000001a1066f62a339e8572e298f91e6101", + "0x00000000000000000000000000000092f8489b2ba0589f4dd077140958960def", + "0x00000000000000000000000000000000001edadfb4804752824903249e7f9326", + "0x00000000000000000000000000000082946f87dce1ce4ca729f36ef1feb44882", + "0x00000000000000000000000000000000000bfdd6ce87611a10f8c7da3d8bfac5", + "0x00000000000000000000000000000056e5bf67db8a2c04936d479c153b9c103d", + "0x000000000000000000000000000000000027e627508ce7025cddb0ab2b618e64", + "0x0000000000000000000000000000008b90b446b9bb5643ea7a3a260ca5b75b84", + "0x000000000000000000000000000000000019b3e3c27b9f0ac3a4cf049ee2b240", + "0x0000000000000000000000000000000444d8a71d66b5ca4e9d30d305608ca3b3", + "0x000000000000000000000000000000000007f8177f772b05c7ad3191dda85d1e", + "0x00000000000000000000000000000004736578a39e31cde4e0a1d5d835004548", + "0x0000000000000000000000000000000000305ddd6c9a9140ee53310a9de66a34", + "0x000000000000000000000000000000020e713b43d133f65971ed97188da4d294", + "0x0000000000000000000000000000000000234d3e68de3e423166663fb3d8cb98", + "0x000000000000000000000000000000f8ed038b6a7f084a98432d4d24c9cd1f6e", + "0x00000000000000000000000000000000002b0a93d0fa517008db171cc79f43c9", + "0x0000000000000000000000000000009387ed083550e486c37ec44651ffe2eb70", + "0x00000000000000000000000000000000002e1550b6e0f7ae7d9b5c9f7fcf9ca2", + "0x00000000000000000000000000000049284adbd9879b5520e5bbb43341cfe205", + "0x0000000000000000000000000000000000098c957651e3bd044d67f0690c0a3f", + "0x0000000000000000000000000000006cb44b6c721400f38bfac488f4d2d64cb4", + "0x00000000000000000000000000000000001871cba1c3b83b3e45fba90eea5dfe", + "0x000000000000000000000000000000568e6cb685282a3d1d8c0d0b02bb088a37", + "0x000000000000000000000000000000000005e5f8cb9bf1ee8630ee868997d5cd", + "0x000000000000000000000000000000a7307d5c9a8e69365e0226b253fe7b3dcb", + "0x000000000000000000000000000000000008dafbb1f7be5028f37dc75841a29d", + "0x00000000000000000000000000000039e9b4421412dd9a2f02c000a37d502083", + "0x0000000000000000000000000000000000179170c1c4505716f88f26c9ab6e12", + "0x0000000000000000000000000000007f21845b8489757ce3d4ec49ea6f618e4a", + "0x00000000000000000000000000000000001b9cfed08947637b6a2b7d87736e35", + "0x000000000000000000000000000000e6ebaeee4ff1dafa064fcda303b930de8f", + "0x000000000000000000000000000000000005d406e59a817688f5c575f20f381d", + "0x0000000000000000000000000000000d18da01a29de23098d8ab65bbbc222358", + "0x000000000000000000000000000000000020a30e809f58ddcdf1245aae987276", + "0x000000000000000000000000000000eaee176e312ad9a252b6c7192d1723e641", + "0x000000000000000000000000000000000004feaf2d0be37c97535ac80fe046ac", + "0x0000000000000000000000000000000d04c904b2c5f624d26669530334cc4b25", + "0x00000000000000000000000000000000000b36939303a8c5e92259b7a4b16ffe", + "0x000000000000000000000000000000c086e27f564430986bc964d09a282fb750", + "0x0000000000000000000000000000000000066bb40e548ad34d12e3f39f5e392b", + "0x000000000000000000000000000000610306556851631dd6304561e8fe91ed13", + "0x000000000000000000000000000000000011bf4025cb983957cfeb5a2cebda60", + "0x00000000000000000000000000000018e61ac2cec1d8c1aa9d7d678b7a947031", + "0x0000000000000000000000000000000000145e7aa0fb8e50873c7e8ae562a427", + "0x000000000000000000000000000000d145aac6b329c0831c1541d5c88c171666", + "0x00000000000000000000000000000000001ed4a2ea5183d97490a265d184ed9e", + "0x00000000000000000000000000000016c6302662e92a3a32b9b8f824b58cc78a", + "0x00000000000000000000000000000000001d7f5e64a099c6aa63052a1196db25", + "0x000000000000000000000000000000fe716dd150329d8164d09fbce114f85659", + "0x0000000000000000000000000000000000001d8ee895257e5b8a525b7d98d473", + "0x00000000000000000000000000000038171d7f06a80e075a97705157118d6b0b", + "0x0000000000000000000000000000000000259b3dff83158e703b961c37e90120", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000ba6eceb4a88fd5005334c5194c00506c85", - "0x00000000000000000000000000000000002fcc8b2bd2f3a85f1929b70c55add2", - "0x000000000000000000000000000000603adb125ea1222b105d309b4e151b3f67", - "0x000000000000000000000000000000000016acc112d291730189e913ba819edf", - "0x000000000000000000000000000000b5c1eac95b264c302dc854e6f22d7330df", - "0x00000000000000000000000000000000000fcbbf9d3cf402baa3eeda5f0a9e49", - "0x000000000000000000000000000000def9d58fc2920836194261f7b163fefbaf", - "0x0000000000000000000000000000000000283edfda89c9480597f0b3442e9752", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a", + "0x000000000000000000000000000000e3aceba4d4a373d0973fd21d9168cf4f0a", + "0x000000000000000000000000000000000024c8392db814bdfe36e2728d4901dc", + "0x000000000000000000000000000000f9a8f1c46613c6f1ee230e31349bbe9d11", + "0x000000000000000000000000000000000011b950efd394f75a4189b32d8525d7", + "0x0000000000000000000000000000006bcc7a05ff95a96b289424c5f733670d96", + "0x000000000000000000000000000000000000c43726f75b6fda0de22ce0e0dfab", + "0x0000000000000000000000000000001d0a09d7178ec93bad7858f96e64f0b48d", + "0x00000000000000000000000000000000002f9b6e0b4e2c01968de5c32482aa7d", + "0x000000000000000000000000000000cc2411e675859a0b8304fec0a5490b5e93", + "0x000000000000000000000000000000000019599133b74e15b1b7cd20473a6fac", + "0x000000000000000000000000000000d3a882cf4261b0f6e2b04e894a031fb1db", + "0x00000000000000000000000000000000001ac56d8462aa7cac1d61eb350f1aee" ] -hash = "0x0337c5e1d7a9a57f891f48697f1d75676c63c8a5b1a959f832c3e8a03c2ff296" +hash = "0x1f21ee8d1e64dce42b465f485ab737c765c4ef77f13af0979f1f28aabb6a7fcd" [private_call.verification_key_hints] -contract_class_artifact_hash = "0x234cbdd26e9d0372ebd5959a1ae9214ccb91cafdf43cc8eac8f9b79a15086724" +contract_class_artifact_hash = "0x2b46adf6696f569ea5bce64f37ff9cac173199755629766a1290a9dd29b8d7c5" contract_class_public_bytecode_commitment = "0x14adc8906401b8fd9ba1f0067ba676be8df5be5b1d1b78d0d0899a3956df3614" acir_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" updated_class_id_value_change = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] updated_class_id_delay_change = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] -[private_call.verification_key_hints.function_leaf_membership_witness] -leaf_index = "1" -sibling_path = [ - "0x0b3dd7d35874a303322a7bfb26a405cdfd25804f6c4bf48ed07f3f0926666ba6", - "0x10e71c29a7228b6a531777eafad44bab7a63890182136839cef8da0f1d4ac51d", - "0x0080f9ed155b11f47b5b0814def786ee04ce4c3420c8a53fcef96e0df0f78ccb", - "0x1f7faf1f3812a77569a0e23b73514987157bdd5473793f32b57d955e44447041", - "0x2a6595890719fef7967c209488728aa5342438ba52058a3c770202f55acf6854", + [private_call.verification_key_hints.function_leaf_membership_witness] + leaf_index = "1" + sibling_path = [ + "0x1393454740fa4b391b9eba65716da1a713f6f6d4e2083601c18447201efc51ff", + "0x15fc56d129c3a46613c14c3b5c6077af212aed69453cea654af521e515227b47", + "0x240ea8d5761077b6f2582b68315f0598f276a3dc3ff3162b3d203167f88218c6", + "0x0198c9138618bfe985ff032b07191a3a3d480088356d1fe159bf8c6ceed546ae", + "0x2a6595890719fef7967c209488728aa5342438ba52058a3c770202f55acf6854" ] [private_call.verification_key_hints.public_keys.npk_m.inner] @@ -5233,32 +8255,32 @@ x = "0x019c111f36ad3fc1d9b7a7a14344314d2864b94f030594cd67f753ef774a1efb" y = "0x2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f" is_infinite = false -[private_call.verification_key_hints.salted_initialization_hash] -inner = "0x2672ed90573d225cfe01a8935d569c6169b914b25e9e506673ccf3eb8020bfb0" + [private_call.verification_key_hints.salted_initialization_hash] + inner = "0x0909b8bb01f7ee408e17a52c59c3c7926e897b9384b036c0544d67d0debce1e4" -[private_call.verification_key_hints.protocol_contract_membership_witness] -leaf_index = "0" -sibling_path = [ - "0x0bd3713aaea61ed2f388dbb57c38360b7e08e9010d50a6ac13d71c4feb6d2606", - "0x09476730cfc400f7d59f19ec32ad204ff272d7d99250b1de3870e1ca13533861", - "0x2213e581b96f63758b3fc7fea45eccc574f2e95648ac68c27d2865906bf389c0", + [private_call.verification_key_hints.protocol_contract_membership_witness] + leaf_index = "4" + sibling_path = [ + "0x2ad12a1ee3ed2bb0afb23a5a1a6bfc88d23f0d323cc0e6fa69035b46b80cbee3", + "0x0026361a94e2861c7e95eb0127a38a91eb1ac84c69cc9bda3113e3e318a89c5d", + "0x14af3db2c4c624b5f813b6583c8815b2c8e76d9863141ef7851034268c507cd5" ] -[private_call.verification_key_hints.protocol_contract_leaf] -address = "0x0000000000000000000000000000000000000000000000000000000000000000" -next_address = "0x1281e0c1842212e79fa2249877524dda4f07f3d42cb502097302737bd3177550" - -[private_call.verification_key_hints.updated_class_id_witness] -leaf_index = "132" -sibling_path = [ - "0x1d00b43e9f9f13cd82a5dda3505061d9cc16f04d90ffcbf6fd21abd35184b1b7", - "0x044757d7dadb7e58940c63a8e3511266a15798b0ec4252f3bbb6f5985d011c99", - "0x182f25010964870ea1d1cbcfc242f39ce8d22d7f596452c5a5e76400fc440f9c", - "0x1f5d28afdbfc3602b110144ffbca3c7e23117e3f117632f38dc0857cfa8ce9f6", - "0x196ca6ed61b8f48c8ad8df44a8a72ac71343352adc8d654037439d851965344d", + [private_call.verification_key_hints.protocol_contract_leaf] + address = "0x0ca84ac2597d5cfa97e7f4aea58aa84ae05751b4944d94a34a75c1bd51b174bd" + next_address = "0x1b5235a4bbdd7f5e68e2bc786ffd60c2263c7b1f1c4397b89cdc8de0095637ec" + + [private_call.verification_key_hints.updated_class_id_witness] + leaf_index = "148" + sibling_path = [ + "0x28f5abe72e02428713dcde29229c6a37ec51d028c3de605cd6cffd97851a6494", + "0x2d5e922a2358f7daf3cacfb8929b2072ced13f65505a206b67859c8859fe8a1c", + "0x0e77c4a0b210057599b06807e358db840d838af3c5dbbb4f22bb4a822509cecc", + "0x17bfd701ba82ef8eb9ae7a61598f7c39d6fa0224fb38f8360b8c0515ee78ff72", + "0x1a72a9e6c1786c52cf310bd8dc2a3038b904a43e64585039c74679923df264bf", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x1403ea8e9dceb886c909e93a8405e12e5e4f3ba06d85939ffb951672b5c3ea83", + "0x171577a7f8f6fdef4332ea93b2fe221a5301f036b2e6fa068cdecb79fb13abc4", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -5290,17 +8312,17 @@ sibling_path = [ "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", "0x0f55a0d491a9da093eb999fa0dffaf904620cbc78d07e63c6f795c5c7512b523", "0x21849764e1aa64b83a69e39d27eedaec2a8f97066e5ddb74634ffdb11388dd9a", - "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6", + "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" ] -[private_call.verification_key_hints.updated_class_id_leaf] -slot = "0x0851971354193cb64142d979aff7b3c49f5dc2212ba36ea68f6e7b0916dd557e" -value = "0x05208323f49682fc3367ed42a0212854a797b5372b0cc6bc5493b00e96ff256d" -next_slot = "0x0aa43f4a7989199d7e7c243a8a55e20d1dc2ad72a9610be7832b69c867c5a236" -next_index = "0x0000000000000000000000000000000000000000000000000000000000000081" + [private_call.verification_key_hints.updated_class_id_leaf] + slot = "0x0a3134710c6056addef9e224ce1c89245666d3e05c50eb0d2fe3893c668637c8" + value = "0x00cc6370963cd1ffa61503370d10de2aaea84016f10da5a3a6f96fe7fb16609a" + next_slot = "0x0cb4d11d7c3abd842abfaf0099199290f5845a834ded9fde31a277f0ae78cf26" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000096" [app_public_inputs] -args_hash = "0x2520065232ac85d18f98e0987076f68dbbd2660f8f5b8c50ac0408fdd014d6d8" +args_hash = "0x3035e4e761c34524d423eb5f7b2481b743f3b2f702d3dbcce1d02e0445cf77a0" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000c" @@ -5311,923 +8333,3924 @@ is_fee_payer = false _is_some = false _value = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.call_context] -is_static_call = false - -[app_public_inputs.call_context.msg_sender] -inner = "0x30115c80b13c0a42019f2e58b75086cf4053674b689df29e2c9581447f32cf2f" - -[app_public_inputs.call_context.contract_address] -inner = "0x063951d8a111a809db4098fe0146d185698cb0651ea8953607998767eae4617c" + [app_public_inputs.call_context] + is_static_call = false -[app_public_inputs.call_context.function_selector] -inner = "0x000000000000000000000000000000000000000000000000000000000c508454" + [app_public_inputs.call_context.msg_sender] + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" -[[app_public_inputs.note_hash_read_requests]] -value = "0x2b94b8072109fb51e0fe54f5058cd22bf22b05cb5535ceb48084b734de8aab81" -counter = "0x0000000000000000000000000000000000000000000000000000000000000005" + [app_public_inputs.call_context.contract_address] + inner = "0x13ce6e12aee9046b7e1d8c0753ddfe92b2d2c01a1e64c8335cc522c1592be269" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.call_context.function_selector] + inner = "0x000000000000000000000000000000000000000000000000000000000c508454" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x2da8eb4f76a7671ad8067e513ba61019508f86eaa19722d493d0a6e55ac95bd9" + counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hash_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x063951d8a111a809db4098fe0146d185698cb0651ea8953607998767eae4617c" -counter = "0x0000000000000000000000000000000000000000000000000000000000000004" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hash_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x13ce6e12aee9046b7e1d8c0753ddfe92b2d2c01a1e64c8335cc522c1592be269" + counter = "0x0000000000000000000000000000000000000000000000000000000000000004" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifier_read_requests]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000030" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x273b277af64f264579dfad9ff48f4691853355aa5f09811f5a721ef6faf46f3a" + [[app_public_inputs.nullifier_read_requests]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0a9b8adfbfa47265264eeec2111506602133932ab717a76524ed17ea41bf9728" -y = "0x051e243411ef5b245a7ea87e21e21ca2a56d7afa54986a97a6c96bb00b7f481a" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000030" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x11c7d6a580b2b0a1a919669472774fdeb2f06d9acc604727a8c98a420290b74c" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x01a3c917d726eb692028e9ae476281f6219a7f2a0fbcf2cbbe4202069d256a26" + y = "0x01cf0c2b78b83cd352f3b1845f8a1a19c5c97efaeb0d600edfa9cbe14606e666" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.key_validation_requests_and_generators]] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.key_validation_requests_and_generators.request] -sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[app_public_inputs.key_validation_requests_and_generators.request.pk_m] -x = "0x0000000000000000000000000000000000000000000000000000000000000000" -y = "0x0000000000000000000000000000000000000000000000000000000000000000" -is_infinite = false + [[app_public_inputs.key_validation_requests_and_generators]] + sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x1aa68efceea6b90ffe07ffdecc4e56a979d2bc87a2a54c5728ec01696e303ade" -counter = "0x0000000000000000000000000000000000000000000000000000000000000007" + [app_public_inputs.key_validation_requests_and_generators.request] + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x09fc58c805b329996e740fd814d8065bd4a686c4f5ad01a01d9cc5ff75e9a8e2" -counter = "0x0000000000000000000000000000000000000000000000000000000000000009" + [app_public_inputs.key_validation_requests_and_generators.request.pk_m] + x = "0x0000000000000000000000000000000000000000000000000000000000000000" + y = "0x0000000000000000000000000000000000000000000000000000000000000000" + is_infinite = false -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hashes]] + value = "0x2d1f2fbc1b1a18a406e9ce67ac9c6fdbc373ff0b6af03aac2e45fc87b609daf0" + counter = "0x0000000000000000000000000000000000000000000000000000000000000007" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hashes]] + value = "0x0b4775b0ecd11df2d2d44cad8dc4015ca35e7f4e6a27e2521e0ca64cb292e3ec" + counter = "0x0000000000000000000000000000000000000000000000000000000000000009" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.note_hashes]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x273c13fb4c67bf182bbaebfa91505f6b1eb60c7caa76a24c9f6e9106c96d096e" + counter = "0x0000000000000000000000000000000000000000000000000000000000000006" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs.nullifiers]] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_call_requests]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context] + is_static_call = false -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_call_requests]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context] + is_static_call = false -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.note_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_call_requests]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x2d30d9abe00b009a54354f50a0fda77ab19ccaaa5889b7542601796d752f5a1c" -counter = "0x0000000000000000000000000000000000000000000000000000000000000006" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context] + is_static_call = false -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_call_requests]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context] + is_static_call = false -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_call_requests]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context] + is_static_call = false -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_call_requests.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.nullifiers]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.private_call_requests]] -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context] -is_static_call = false + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.private_call_requests]] -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context] -is_static_call = false + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.private_call_requests]] -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context] -is_static_call = false + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.private_call_requests]] -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context] -is_static_call = false + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.private_call_requests]] -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context] -is_static_call = false + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_call_requests.call_context.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.public_call_requests]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_teardown_call_request] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.public_teardown_call_request.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.l2_to_l1_msgs]] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.l2_to_l1_msgs.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.l2_to_l1_msgs]] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.l2_to_l1_msgs.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" + counter = "0x0000000000000000000000000000000000000000000000000000000000000008" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x2780fa328e5a1953e8a0b9c8dbc7b3e4faf4b9af0eb5fd8328d6fb8d348a4f24", + "0x13e5104b6bf2ae50dea72fb1862c37919e40bb134ee8ff57aba0323f35427065", + "0x00015b958240765cba37f8700ff22436a4499eb2fd01612b2fb0232c35223c3d", + "0x00a5f4f1771b04f68c37bb785ff6d83b4289093511962d3dc29bbe465b050b89", + "0x00529268379bbfbc9f16ebfc1ef9e6dd29e6e4d0fc0f7c0ddf0728747201a8b7", + "0x00ddc8717d0b13ee36f108320701d4bd909da06455caf4349a10903b16e6df78", + "0x00fdf350b7c3fe35bcffcd473431f5490fe05d8ecd58a244ec657b48a0c7562d", + "0x0044e08bc8cd76232aab30d61d0647013dc1ff3a5843f60ef84e20db049e47a2", + "0x0002b93b31df9c2ba87e8566eeb6eccd166a30424df9cd1c3cba8b5faa7d0687", + "0x007336dc56b950e78c1dfbeb015a0c7ed3d738bdec30afd0d8d36679dc2b6bbe", + "0x19cd45893ecf19a6d91b989140d6f0af8a554ef360265c92acc24a3b63240ace", + "0x2e1660fd57a3ed82e37b6c8e1970547de41fff6d4248a0b5e9ff958f07e49770", + "0x0a67736706cb1f789b7b16fb441a08f00e190a596428b91357d25d15ea1d49b3", + "0x00650dfaf0d7395153dae4d350e82d4abebb4c325970b8992a982a03b6b648be", + "0x115b15f80a45a2cff18ba888388ccc7917bd4937b6bb1171a0f4bdb1858534f5", + "0x2cbfecc710b4d7a5697ebf9c1d4ec1a7dcec6e04821440d183daccdaa10e56d5", + "0x2e58cdb112f4b818ea71a29a4ef91e06afbb0a5ab643b037b2134daaac8ae381", + "0x17b24ef838e3aadd36185a581b789eabf8d46a8fa694fb86c3972ccb27f1bbb3" +] -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" + counter = "0x000000000000000000000000000000000000000000000000000000000000000a" + + [app_public_inputs.private_logs.log] + fields = [ + "0x02bd075324a86f1be19e2bc60510ed40d27d5c5214b492fca41fba0a9e4ef850", + "0x15385784aa21403c75dcf3bd8ecb2484fcaa7fe1eaab5562eea42582d654330a", + "0x0001b2c7e77722d36959b5bb79f3fdeb028e369f7ced8137e8c58b61b8422a96", + "0x007b305b4c68dc0871e040c245eabdfffd8d21f16ffdf21ff2c1ed0306e6bd56", + "0x00eb4f2996a1c1c85115c67501f8f7afa263dd42716b2c4523393b3f21424da8", + "0x009051c7b0da72dc269754fe37de07e1a629391d96972fbf4cca9d4ac7ba1dd1", + "0x00a18b1d434c483466d0d66c5777c21cdae151d7fe7d7419de237406c492b6fc", + "0x00a62d9b737397e325ac70e560b418a8c2061bf9dc1c00b2d7991d3c3f4b2268", + "0x006a868f2eaca7e6a32cde0772bf48401a0d27c9b00a1828528171f7d3edd81a", + "0x0007a93cb88380d83ca6836bb6239863807a3c7a068407888a877e18f34797a7", + "0x13f7b9234578895559a451b1d5de8f7b20654649133ccf555b114efcb52b2a88", + "0x14fd4179e68ccf3d3c194a5aeb3a8616408d114a250d5413444e609a92b284f0", + "0x0e74c4b4b9ee83c9f66b2dc974d2092f6607a12c73fc185c37c65d28cebb4b56", + "0x1852be9b2a6d7e4e8358543ef27fafc8d35764ac9c21698fa7aee14828191f54", + "0x0f67df1dab875493b23baaec9c4d35e718001ad5ea1f475f3f5395af12d60fbd", + "0x0aa6feef8bad221b1186595e484cb5c491a743aab5588f51f72f1f9d129aa119", + "0x2e136b12d05663ce07d2aa543107284bef8c7166fda0eafc0c1a9b26d51a2adc", + "0x0d55dbbf1c7d5f6644ded6c0f69fafd95a5090ec7bdbe2b295b1bacbbf8e3787" +] -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x000000000000000000000000000000000000000000000000000000000000000b" + + [app_public_inputs.private_logs.log] + fields = [ + "0x2ebff924819a7ccbae695e3168ac624c800df12891b4aca1b868b2c217715af0", + "0x305a03f6e0cf41cb167794060e7aa0c2f0ce4d4282c3fd4f3fb9e350f5c2a9aa", + "0x00013c92d8a146fc8518cd200a14d8b2206d1c783264ba2315ee4bd99e9b8418", + "0x00ce7dd1fea31ca491d2ba1ec54218561d61a644c04479d48f12f69ff1ffe891", + "0x000da689bbdca2561710911c1f87786ffcd7a2d2d486fce256f477968416b916", + "0x00a1de6b69ae64af68ea40d7aff5a0d347de2a3f05c537db2b1cecb779e4dcc1", + "0x00c8485ccd37f855e3d092c983a84f96ab2c91203b6c56bdb2d3ccddce1d389b", + "0x0005e7ff82f7199645f317ccca3fa721814f6deccc2ef22008836aa5120f8934", + "0x0000b954441227c384d0f3981feb9ffee24081645f89155c74cba14996f53c82", + "0x00a136420fef571f8d950a8ad6f5114a2bc1baace1a52ba3b0c775c758753393", + "0x218a90680035c00dee1878247d4e8029f34eb20847a6392d81be814f5847f63e", + "0x2d532f9db177337ed69327d07c883fd7c6a9f13f2279f4e7c6a6c34636d8878f", + "0x1606ce8401ae9acdedb55322b9145fbbc76ed9fd9dcdd50a72f12c1b046d195f", + "0x255fb9a107e13e6dce669d8add3939dc962056a6eca1685e39aa48507f7d37e0", + "0x1c5fd6c37d0bcbabdcab847d1700b536ff4f93fe72e9d9287de5bf269a13634b", + "0x09bd74f4be0966b5e66bc2b9ee0aa56d033c3c4ddd9780bd60476c098c970cec", + "0x03ec3e030476c16ce96af0712d13a12fd7117b1bad69522881e9828521544dd7", + "0x11f5f63d87d4e5c3cc12724344db733fd87f9474456ee3738d705eebb5b9d98a" +] -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[app_public_inputs.public_call_requests.inner] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[app_public_inputs.public_call_requests.inner.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_call_requests.inner.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[app_public_inputs.public_teardown_call_request] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_teardown_call_request.msg_sender] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[app_public_inputs.public_teardown_call_request.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.public_teardown_call_request.function_selector] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[[app_public_inputs.l2_to_l1_msgs]] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.l2_to_l1_msgs.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[[app_public_inputs.l2_to_l1_msgs]] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.l2_to_l1_msgs.recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" -counter = "0x0000000000000000000000000000000000000000000000000000000000000008" - -[app_public_inputs.private_logs.log] -fields = [ - "0x0751bef29db5c69716a4c9f23896a496d936d4520129b5251eec6f11262b8e1e", - "0x167603b5766d67512512a4796245a56076b94de8d1ea07b295ebb4ed85c056ff", - "0x0000aafc95fd793b5c4b0feb06e38bc21489dbdc04b633539e72738b723e49d1", - "0x008891147ceb97bd6ff6389d25e3587f6171edd234ae0e9edd6b5226edca86f7", - "0x00a78845c981e5cf9956624bc82c8a64d7252c7bc4a66cfb82ae5b81238ad17b", - "0x00f3a19da28c5dc92914cdd68a3d672ce3d080cd37f9266f3706775773ac2c0f", - "0x0048cb12059190078e332090882354d7fcf9118711cfeec72100492aaa81080f", - "0x00586dbb6ad2497e647a78fd4c6c0c82f8d10d7c6ce67c571e678c7bcd8a7117", - "0x00e814e6b343543791ec83139c26a5ea25229abc730f72c832da0853d87846fc", - "0x0040647c93641b8349ae718a39e1c4d699f6a75ac5648ae435db9c9d95d2e9f1", - "0x1a81779f583dddb618e0ff174cccdd90613e39b78e4b145bb6ab92df93348880", - "0x1eecaf4a50ddce6f795cc6755f0131f6c53e9118b9ebd2d8f7d7cd9f4dc7eaae", - "0x0df14306f82a26e71aa043e79e0c71280cf7e024ff84d142bfcf027528c03c2c", - "0x1c04bddae0848102eb8c0a82ef3f453a664d2b156e36109b65a119c7818ea964", - "0x27de018c80d8144ce4edc0268fd054cdffb10d922596c7644ebaa530a08c1a8d", - "0x077cce49c4d731e6413d42e4354e2d7c90de28d0ba1b4b6fb25a93d0be010d1f", - "0x2af29b5bed0a2af7fbb3238513869593cea3a634f19670d718ad68769af052e8", - "0x20ca5e5d6a61d84f1b1fc2611c6da95b59a8050805bc4b6818fcadbd34ab6cb4", + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" -counter = "0x000000000000000000000000000000000000000000000000000000000000000a" - -[app_public_inputs.private_logs.log] -fields = [ - "0x0160ce68ff73104586e66d37584fcc06941824a3642410d534f67c64db7cd16a", - "0x21f0603da9489d946191d324ee2dca49f79bc6022ccbd2e72aa8988384526784", - "0x00006087e669a25770908fb7e2e6b01c25c6f643374513f0507d3d6478b31a0a", - "0x00ecba62b7f788bcef37fc2cabb256bf4509a1f2955201668abbf507b53f8707", - "0x0091918238d3228c93568602404c6731f96908d985153629fb1dcc0d24a2a8b4", - "0x00a0b8b0ae66f7dd89a444a16fe191546b76fec2bab479b805f98371a470892b", - "0x00cdf60485232f6d2b93cf88ffe49c11b892bf2bdee507d1e58f7e85a3f71942", - "0x00458cade0e3fe12f5c41dce526434c55e405c12f03e3f0acc8adb491ccea8ca", - "0x003367fb1e21a73ada7ef61d96521554ac87df355bec2a1eb21e5890f3e7c526", - "0x00fe53f99a629a3acb169430cfd422384d6cd404b5b9c75857a2d1502394db85", - "0x02cfce371540c91427b6b1c5c1b79bbfe78bf6cb30fe74229db5d7f97e2b1a63", - "0x1b70e5487575afe9c4c31263cec6e81ec6c6c36561cafb2e237d3b46bc9ecb63", - "0x2e41b9dbafb4fdf0de3cfbef8e2d1d62376a725882d89323aca404ba85001473", - "0x0e84510e85c20ebf809cca3db0871e698a609036f6ca43f23f077ad4034e9b85", - "0x1c8693adef7eab0b7cb8d9867a5687ffcfc1b0d90d88e8222ee4224715e5b3b4", - "0x1e67cff2a9b0cd25efa7e7aba76e59b8788c31697fe483673d12162fbcdb4cb0", - "0x0babeb8fad5ad098aa0cea25c85fa70f1bf6557b7bfb6ab7d0445f5851fdf3c1", - "0x11d5e67093feab6d16fbc32e4a1a5d16e407ce6e7cfe254244e577664c8fb532", -] + [[app_public_inputs.private_logs]] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x000000000000000000000000000000000000000000000000000000000000000b" - -[app_public_inputs.private_logs.log] -fields = [ - "0x2cfcb408db9e9386a04b2b367cb853925eb8a51feeafca073e1512827e348f49", - "0x1af508073662bd113fe745f8826fdeee9dfa030da19a9d145b4a092d774808fa", - "0x0000bb6a87d3ba9c686e11dbc5710aa9ad1656188aa05b9527f76da85c2a527e", - "0x00bae9608b3b65dcddeea7294fc3325bdb52cf74a5f492dbb36223f7a02cef70", - "0x0058b4a3a1e53fb32d75c29b5004b27084f283920cde1af31004e14c97611998", - "0x00bfac8fc5179ac59c0c27e06f64522c92ead4efd84f5c29e58a829c525623f0", - "0x0076b2c342324046af723c040db5120834b2b44fe26b02a26f27020db42f2f29", - "0x00b26af836c55ed20971d1c5f09d5304a8a8affdb732df6a65cd437e3ca7c45e", - "0x00e5ea05ca955a7abe61187a74115a742818701888b1e3b4cbecf778bfbfcc4f", - "0x009103f3f67fc0642bb6e041ad8d6e7546ed3d6124779b267cc71df47c742686", - "0x2a0ee4c02e0eb8863b7741d4a4a0204e3ca7d377d7b12da78979c7efca7fd8e7", - "0x1ceacbf2e1a154013ec0f29c6d0f0b6ee2c8ba2a30f10652864a1ffadfdbef80", - "0x0ed57f26e1d4174a6f3c7c53a72b6e5da13ee88107e38a1d8e26c9147fa2520f", - "0x0ef0e2babcc7e4bb040e857445aa0e95fdd4c6d1a54b684e935fb26fd8701709", - "0x1506dd3be1bc9e0373422002785b9b1c6de61325677b039368d93618e9d3f3eb", - "0x125b5cb4e410cb3657d5af35b49ab6e31374ffb59d65dbe0500cfce9e68c7f48", - "0x1406aab50a8fcce2fd525b48b289cd2e5453ef4cbb0bb6bee5dc987b2133ffb1", - "0x15e3f93acc5bd69e02d73e1f20d356b2cf41ef470f94f4c9f626ae516e07102a", + [app_public_inputs.private_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.contract_class_logs]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.private_logs.log] -fields = [ + [app_public_inputs.contract_class_logs.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6246,14 +12269,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6272,14 +12287,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6298,14 +12305,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6324,14 +12323,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6350,14 +12341,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6376,14 +12359,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6402,14 +12377,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6428,14 +12395,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6454,14 +12413,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6480,14 +12431,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6506,14 +12449,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6532,14 +12467,6 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", -] - -[[app_public_inputs.private_logs]] -note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.private_logs.log] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6558,63 +12485,180 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] -[[app_public_inputs.contract_class_logs_hashes]] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[app_public_inputs.historical_header] -total_fees = "0x000000000000000000000000000000000000000000000000000002234738a6dc" -total_mana_used = "0x000000000000000000000000000000000000000000000000000000000003e4b5" + [app_public_inputs.historical_header] + total_fees = "0x00000000000000000000000000000000000000000000000000000015b099d070" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000015991" -[app_public_inputs.historical_header.last_archive] -root = "0x182ece3a6471a364fdb90dac6ee36013aa3be5f8b00a3edae015ae194590f266" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000005" + [app_public_inputs.historical_header.last_archive] + root = "0x23520abe588666a33f4a84275f6fefe5f5207d027617374a803fd2e4a0091ec9" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" -[app_public_inputs.historical_header.content_commitment] -num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" -blobs_hash = "0x00dbbc8e274b20691c819f6c5ccdaa3317c048cdf7e346aca53a9ad0338e33f4" -in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" -out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.historical_header.content_commitment] + num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" + blobs_hash = "0x006a0f5e919dc9288760027e31a1e696774efc08c96b3c1dd43f68ee1b9f6359" + in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" + out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.historical_header.state.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000050" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [app_public_inputs.historical_header.state.partial.note_hash_tree] -root = "0x1d2a0372ac57ea0f5e4878ef40b3876d986df26d9039093d56426b8d05c1aa95" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.historical_header.state.partial.nullifier_tree] -root = "0x300782ca3597643e3bd4ef7c4122e409019f3e970a5e27cac7511d3bceca71b4" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [app_public_inputs.historical_header.state.partial.public_data_tree] -root = "0x17043d2abd1baca090b8b982811b5e202356adbc5d2b1e262c33c7846acf08dd" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000099" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" -[app_public_inputs.historical_header.global_variables] -chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" -version = "0x0000000000000000000000000000000000000000000000000000000000000001" -block_number = "0x0000000000000000000000000000000000000000000000000000000000000005" -slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" -timestamp = "0x0000000000000000000000000000000000000000000000000000000067af1dda" + [app_public_inputs.historical_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000000000001" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34871" -[app_public_inputs.historical_header.global_variables.coinbase] -inner = "0x00000000000000000000000036878ef7e244777d78d353a8a91073f7f9f4b9d2" + [app_public_inputs.historical_header.global_variables.coinbase] + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" -[app_public_inputs.historical_header.global_variables.fee_recipient] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [app_public_inputs.historical_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[app_public_inputs.historical_header.global_variables.gas_fees] -fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000008c90ec" + [app_public_inputs.historical_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000101170" -[app_public_inputs.tx_context] -chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" -version = "0x0000000000000000000000000000000000000000000000000000000000000001" + [app_public_inputs.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000000000001" [app_public_inputs.tx_context.gas_settings.gas_limits] da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" @@ -6626,7 +12670,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [app_public_inputs.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000186c3f" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [app_public_inputs.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_call_data_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_call_data_validator.nr index 9ebcaf91a0fd..e9e0d298a0dc 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_call_data_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_call_data_validator.nr @@ -211,12 +211,12 @@ impl PrivateCallDataValidator { "private_logs must be empty for static calls", ); assert_eq( - self.array_lengths.contract_class_logs_hashes, + self.array_lengths.contract_class_logs, 0, - "contract_class_logs_hashes must be empty for static calls", + "contract_class_logs must be empty for static calls", ); } - if (self.array_lengths.contract_class_logs_hashes != 0) { + if (self.array_lengths.contract_class_logs != 0) { assert_eq( call_context.contract_address, REGISTERER_CONTRACT_ADDRESS, @@ -352,8 +352,8 @@ impl PrivateCallDataValidator { validate_incrementing_counters_within_range( counter_start, counter_end, - public_inputs.contract_class_logs_hashes, - self.array_lengths.contract_class_logs_hashes, + public_inputs.contract_class_logs, + self.array_lengths.contract_class_logs, ); validate_incrementing_counter_ranges_within_range( counter_start, diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_validator.nr index 4f321bdf2d2d..4a8fe7028dd3 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_validator.nr @@ -1,6 +1,7 @@ use crate::components::private_kernel_circuit_public_inputs_composer::create_protocol_nullifier; use dep::types::{ abis::{ + contract_class_log::assert_contract_class_logs_appended_and_scoped, kernel_circuit_public_inputs::{ PrivateKernelCircuitPublicInputs, PrivateKernelCircuitPublicInputsArrayLengths, }, @@ -276,9 +277,9 @@ impl PrivateKernelCircuitOutputValidator { array_lengths.private_logs, ); assert_array_prepended( - self.output.end.contract_class_logs_hashes, - previous_kernel.end.contract_class_logs_hashes, - array_lengths.contract_class_logs_hashes, + self.output.end.contract_class_logs, + previous_kernel.end.contract_class_logs, + array_lengths.contract_class_logs, ); assert_array_prepended( self.output.end.public_call_requests, @@ -351,11 +352,11 @@ impl PrivateKernelCircuitOutputValidator { offsets.private_logs, contract_address, ); - assert_array_appended_scoped( - self.output.end.contract_class_logs_hashes, - private_call.contract_class_logs_hashes, - array_lengths.contract_class_logs_hashes, - offsets.contract_class_logs_hashes, + assert_contract_class_logs_appended_and_scoped( + self.output.end.contract_class_logs, + private_call.contract_class_logs, + array_lengths.contract_class_logs, + offsets.contract_class_logs, contract_address, ); assert_array_appended( diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_public_inputs_composer.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_public_inputs_composer.nr index 6d611d730964..c055cef8cf20 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_public_inputs_composer.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_public_inputs_composer.nr @@ -114,8 +114,7 @@ impl PrivateKernelCircuitPublicInputsComposer { public_inputs.end.nullifiers = array_to_bounded_vec(start.nullifiers); public_inputs.end.l2_to_l1_msgs = array_to_bounded_vec(start.l2_to_l1_msgs); public_inputs.end.private_logs = array_to_bounded_vec(start.private_logs); - public_inputs.end.contract_class_logs_hashes = - array_to_bounded_vec(start.contract_class_logs_hashes); + public_inputs.end.contract_class_logs = array_to_bounded_vec(start.contract_class_logs); public_inputs.end.public_call_requests = array_to_bounded_vec(start.public_call_requests); public_inputs.end.private_call_stack = array_to_bounded_vec(start.private_call_stack); @@ -137,8 +136,8 @@ impl PrivateKernelCircuitPublicInputsComposer { // Note hashes, nullifiers, and private logs are sorted in the reset circuit. self.public_inputs.end.l2_to_l1_msgs = transform_vec(self.public_inputs.end.l2_to_l1_msgs, sort_by_counter_asc); - self.public_inputs.end.contract_class_logs_hashes = transform_vec( - self.public_inputs.end.contract_class_logs_hashes, + self.public_inputs.end.contract_class_logs = transform_vec( + self.public_inputs.end.contract_class_logs, sort_by_counter_asc, ); self.public_inputs.end.public_call_requests = transform_vec( @@ -306,11 +305,11 @@ impl PrivateKernelCircuitPublicInputsComposer { } } - let contract_class_logs = private_call_public_inputs.contract_class_logs_hashes; + let contract_class_logs = private_call_public_inputs.contract_class_logs; for i in 0..contract_class_logs.len() { let log = contract_class_logs[i]; if !is_empty(log) { - self.public_inputs.end.contract_class_logs_hashes.push(log.scope( + self.public_inputs.end.contract_class_logs.push(log.with_log_size_hint().scope( private_call_public_inputs.call_context.contract_address, )); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_validator.nr index 709bfc2da825..0f3fa6c7b0ee 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_validator.nr @@ -102,8 +102,8 @@ impl| l.inner.log); - data.contract_class_logs_hashes = source.contract_class_logs_hashes.storage().map( - |l: ScopedLogHash| l.expose_to_public(), - ); - data.contract_class_log_preimages_length = source.contract_class_logs_hashes.storage().fold( - 0, - |len, l: ScopedLogHash| len + l.log_hash.length, + data.contract_class_logs = source.contract_class_logs.storage().map( + |l: Scoped| l.expose_to_public(), ); data } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_composer/meter_gas_used.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_composer/meter_gas_used.nr index 12acfc1e3dfa..3c3fe8b75ff6 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_composer/meter_gas_used.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_composer/meter_gas_used.nr @@ -1,10 +1,12 @@ use dep::types::{ abis::{ accumulated_data::private_to_rollup_accumulated_data::PrivateToRollupAccumulatedData, + contract_class_log::{contract_class_log_array_length, ContractClassLogData}, gas::Gas, + side_effect::scoped::Scoped, }, constants::{ - DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_LOG_BYTE, + DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NOTE_HASH, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, PRIVATE_LOG_SIZE_IN_FIELDS, }, @@ -31,9 +33,18 @@ pub fn meter_gas_used(data: PrivateToRollupAccumulatedData) -> Gas { metered_da_fields += num_private_logs * PRIVATE_LOG_SIZE_IN_FIELDS; metered_l2_gas += num_private_logs * L2_GAS_PER_PRIVATE_LOG; - let mut metered_da_bytes = metered_da_fields * DA_BYTES_PER_FIELD; - metered_da_bytes += data.contract_class_log_preimages_length as u32; - metered_l2_gas += data.contract_class_log_preimages_length as u32 * L2_GAS_PER_LOG_BYTE; + let num_contract_class_logs = contract_class_log_array_length(data.contract_class_logs); + // TODO: adding num_contract_class_logs * CONTRACT_CLASS_LOG_SIZE_IN_FIELDS overflows gas limits, + // and is not accurate anyway, because we no longer pay gas in terms of bytes but of blob fields. + let contract_class_log_emitted_fields = data.contract_class_logs.fold( + 0, + // Note: log_size is constrained to be correct in log.validate_log_size_hint(), called by each init and inner + |len, l: Scoped| len + l.inner.log_size, + ); + metered_da_fields += contract_class_log_emitted_fields; + metered_l2_gas += num_contract_class_logs * L2_GAS_PER_CONTRACT_CLASS_LOG; + + let metered_da_bytes = metered_da_fields * DA_BYTES_PER_FIELD; Gas::new(metered_da_bytes * DA_GAS_PER_BYTE, metered_l2_gas) + Gas::tx_overhead() } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator.nr index b2727c456969..6004cdb7dbd8 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator.nr @@ -3,10 +3,10 @@ pub mod tail_output_hints; use crate::components::tail_output_composer::meter_gas_used; use dep::types::{ abis::{ + contract_class_log::assert_exposed_sorted_transformed_contract_class_logs, kernel_circuit_public_inputs::{ PrivateKernelCircuitPublicInputs, PrivateToRollupKernelCircuitPublicInputs, }, - log_hash::ScopedLogHash, private_log::PrivateLogData, side_effect::{OrderedValue, scoped::Scoped}, }, @@ -108,11 +108,10 @@ impl TailOutputValidator { self.hints.sorted_l2_to_l1_msg_hints, ); // contract_class_logs - assert_exposed_sorted_transformed_value_array( - self.previous_kernel.end.contract_class_logs_hashes, - self.output.end.contract_class_logs_hashes, - |prev: ScopedLogHash, out: ScopedLogHash| out == prev.expose_to_public(), - self.hints.sorted_contract_class_log_hash_hints, + assert_exposed_sorted_transformed_contract_class_logs( + self.previous_kernel.end.contract_class_logs, + self.output.end.contract_class_logs, + self.hints.sorted_contract_class_log_hints, ); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator/tail_output_hints.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator/tail_output_hints.nr index d6f3a2095e4c..de951e0e5e46 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator/tail_output_hints.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator/tail_output_hints.nr @@ -1,5 +1,8 @@ use dep::types::{ - abis::{kernel_circuit_public_inputs::PrivateKernelCircuitPublicInputs, log_hash::ScopedLogHash}, + abis::{ + contract_class_log::ContractClassLogData, + kernel_circuit_public_inputs::PrivateKernelCircuitPublicInputs, side_effect::scoped::Scoped, + }, constants::{MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX}, utils::arrays::{get_order_hints_asc, OrderHint, sort_by_counter_asc}, }; @@ -8,8 +11,8 @@ pub struct TailOutputHints { // L2 to l1 msgs. pub sorted_l2_to_l1_msg_hints: [OrderHint; MAX_L2_TO_L1_MSGS_PER_TX], // Contract class log hashes. - pub sorted_contract_class_log_hashes: [ScopedLogHash; MAX_CONTRACT_CLASS_LOGS_PER_TX], - pub sorted_contract_class_log_hash_hints: [OrderHint; MAX_CONTRACT_CLASS_LOGS_PER_TX], + pub sorted_contract_class_logs: [Scoped; MAX_CONTRACT_CLASS_LOGS_PER_TX], + pub sorted_contract_class_log_hints: [OrderHint; MAX_CONTRACT_CLASS_LOGS_PER_TX], } pub unconstrained fn generate_tail_output_hints( @@ -19,14 +22,13 @@ pub unconstrained fn generate_tail_output_hints( let sorted_l2_to_l1_msg_hints = get_order_hints_asc(previous_kernel.end.l2_to_l1_msgs); // contract_class_logs - let sorted_contract_class_log_hashes = - sort_by_counter_asc(previous_kernel.end.contract_class_logs_hashes); - let sorted_contract_class_log_hash_hints = - get_order_hints_asc(previous_kernel.end.contract_class_logs_hashes); + let sorted_contract_class_logs = sort_by_counter_asc(previous_kernel.end.contract_class_logs); + let sorted_contract_class_log_hints = + get_order_hints_asc(previous_kernel.end.contract_class_logs); TailOutputHints { sorted_l2_to_l1_msg_hints, - sorted_contract_class_log_hashes, - sorted_contract_class_log_hash_hints, + sorted_contract_class_logs, + sorted_contract_class_log_hints, } } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer/meter_gas_used.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer/meter_gas_used.nr index fae82f49c294..814f7fb09cb2 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer/meter_gas_used.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer/meter_gas_used.nr @@ -1,12 +1,15 @@ use dep::types::{ abis::{ - accumulated_data::PrivateToPublicAccumulatedData, gas::Gas, log_hash::ScopedLogHash, + accumulated_data::PrivateToPublicAccumulatedData, + contract_class_log::{contract_class_log_array_length, ContractClassLogData}, + gas::Gas, public_call_request::PublicCallRequest, + side_effect::scoped::Scoped, }, constants::{ - DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, L2_GAS_PER_L2_TO_L1_MSG, - L2_GAS_PER_LOG_BYTE, L2_GAS_PER_NOTE_HASH, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, - PRIVATE_LOG_SIZE_IN_FIELDS, + DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, + L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NOTE_HASH, + L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, PRIVATE_LOG_SIZE_IN_FIELDS, }, traits::{Empty, is_empty}, utils::arrays::array_length, @@ -32,11 +35,18 @@ fn meter_accumulated_data_gas_used(data: PrivateToPublicAccumulatedData) -> Gas metered_da_fields += num_private_logs * PRIVATE_LOG_SIZE_IN_FIELDS; metered_l2_gas += num_private_logs * L2_GAS_PER_PRIVATE_LOG; + let num_contract_class_logs = contract_class_log_array_length(data.contract_class_logs); + // TODO: adding num_contract_class_logs * CONTRACT_CLASS_LOG_SIZE_IN_FIELDS overflows gas limits, + // and is not accurate anyway, because we no longer pay gas in terms of bytes but of blob fields. + let contract_class_log_emitted_fields = data.contract_class_logs.fold( + 0, + // Note: log_size is constrained to be correct in log.validate_log_size_hint(), called by each init and inner + |len, l: Scoped| len + l.inner.log_size, + ); + metered_da_fields += contract_class_log_emitted_fields; + metered_l2_gas += num_contract_class_logs * L2_GAS_PER_CONTRACT_CLASS_LOG; + let mut metered_da_bytes = metered_da_fields * DA_BYTES_PER_FIELD; - let contract_class_log_preimages_length = - data.contract_class_logs_hashes.fold(0, |len, l: ScopedLogHash| len + l.log_hash.length); - metered_da_bytes += contract_class_log_preimages_length as u32; - metered_l2_gas += contract_class_log_preimages_length as u32 * L2_GAS_PER_LOG_BYTE; metered_l2_gas += array_length(data.public_call_requests) * FIXED_AVM_STARTUP_L2_GAS; diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer/split_to_public.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer/split_to_public.nr index 71220cef9559..fc24e5c9d16e 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer/split_to_public.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer/split_to_public.nr @@ -65,15 +65,15 @@ pub unconstrained fn split_to_public( } } - let contract_class_logs_hashes = data.contract_class_logs_hashes; - for i in 0..contract_class_logs_hashes.max_len() { - if i < contract_class_logs_hashes.len() { - let contract_class_log_hash = contract_class_logs_hashes.get_unchecked(i); - let public_log_hash = contract_class_log_hash.expose_to_public(); - if contract_class_log_hash.counter() < min_revertible_side_effect_counter { - non_revertible_builder.contract_class_logs_hashes.push(public_log_hash); + let contract_class_logs = data.contract_class_logs; + for i in 0..contract_class_logs.max_len() { + if i < contract_class_logs.len() { + let contract_class_log = contract_class_logs.get_unchecked(i); + let public_contract_class_log = contract_class_log.expose_to_public(); + if contract_class_log.counter() < min_revertible_side_effect_counter { + non_revertible_builder.contract_class_logs.push(public_contract_class_log); } else { - revertible_builder.contract_class_logs_hashes.push(public_log_hash); + revertible_builder.contract_class_logs.push(public_contract_class_log); } } } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator.nr index c3b3ae148236..c88d8a01916e 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator.nr @@ -3,14 +3,16 @@ mod tail_to_public_output_hints; use crate::components::tail_to_public_output_composer::meter_gas_used; use dep::types::{ abis::{ + contract_class_log::{ + assert_split_sorted_transformed_contract_class_logs, ContractClassLogData, + }, kernel_circuit_public_inputs::{ PrivateKernelCircuitPublicInputs, PrivateToPublicKernelCircuitPublicInputs, }, - log_hash::ScopedLogHash, note_hash::ScopedNoteHash, nullifier::ScopedNullifier, public_call_request::PublicCallRequest, - side_effect::Counted, + side_effect::{Counted, scoped::Scoped}, }, messaging::l2_to_l1_message::ScopedL2ToL1Message, utils::arrays::{ @@ -112,14 +114,19 @@ impl TailToPublicOutputValidator { hints.sorted_l2_to_l1_msg_hints, ); - // contract_class_logs_hashes - assert_split_sorted_transformed_value_arrays_asc( - prev_data.contract_class_logs_hashes, - prev_data.contract_class_logs_hashes.map(|log: ScopedLogHash| log.expose_to_public()), + // contract_class_logs + assert_split_sorted_transformed_contract_class_logs( + prev_data.contract_class_logs, + prev_data.contract_class_logs.map(|log: Scoped| { + log.expose_to_public() + }), split_counter, - output_non_revertible.contract_class_logs_hashes, - output_revertible.contract_class_logs_hashes, - hints.sorted_contract_class_log_hash_hints, + output_non_revertible.contract_class_logs, + output_revertible.contract_class_logs, + hints.sorted_contract_class_log_hints.sorted_counters_lt, + hints.sorted_contract_class_log_hints.sorted_counters_gte, + hints.sorted_contract_class_log_hints.sorted_indexes, + true, ); // public_call_requests diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator/tail_to_public_output_hints.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator/tail_to_public_output_hints.nr index 0aa6444dca31..9845b90250ca 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator/tail_to_public_output_hints.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator/tail_to_public_output_hints.nr @@ -10,7 +10,7 @@ pub struct TailToPublicOutputHints { // L2 to l1 msgs. pub sorted_l2_to_l1_msg_hints: SplitOrderHints, // Contract class log hashes. - pub sorted_contract_class_log_hash_hints: SplitOrderHints, + pub sorted_contract_class_log_hints: SplitOrderHints, // Public call requests. pub sorted_public_call_request_hints: SplitOrderHints, } @@ -25,10 +25,8 @@ pub unconstrained fn generate_tail_to_public_output_hints( get_split_order_hints_asc(previous_kernel.end.l2_to_l1_msgs, split_counter); // contract_class_logs - let sorted_contract_class_log_hash_hints = get_split_order_hints_asc( - previous_kernel.end.contract_class_logs_hashes, - split_counter, - ); + let sorted_contract_class_log_hints = + get_split_order_hints_asc(previous_kernel.end.contract_class_logs, split_counter); // public_call_requests let sorted_public_call_request_hints = @@ -36,7 +34,7 @@ pub unconstrained fn generate_tail_to_public_output_hints( TailToPublicOutputHints { sorted_l2_to_l1_msg_hints, - sorted_contract_class_log_hash_hints, + sorted_contract_class_log_hints, sorted_public_call_request_hints, } } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_init.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_init.nr index 52fcb74ea174..9a8e73fb3e40 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_init.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_init.nr @@ -93,6 +93,7 @@ mod tests { use crate::private_kernel_init::PrivateKernelInitCircuitPrivateInputs; use dep::types::{ abis::kernel_circuit_public_inputs::PrivateKernelCircuitPublicInputs, + constants::REGISTERER_CONTRACT_ADDRESS, tests::{fixture_builder::FixtureBuilder, utils::assert_array_eq}, transaction::tx_request::TxRequest, }; @@ -148,4 +149,22 @@ mod tests { [private_logs[0], private_logs[1]], ); } + + #[test] + fn private_kernel_init_contract_class_log_output_as_expected() { + let mut builder = PrivateKernelInitInputsBuilder::new(); + let log_fields = [1, 2, 3]; + + builder.private_call.add_contract_class_log(log_fields); + let registerer_index = REGISTERER_CONTRACT_ADDRESS.inner as u32; + let _ = builder.private_call.use_protocol_contract(registerer_index); + // edit the log_size to be incorrect + let mut log = builder.private_call.contract_class_logs.get_unchecked(0); + log.inner.log_size = log_fields.len() + 1; + builder.private_call.contract_class_logs.set_unchecked(0, log); + builder.tx_request = builder.private_call.build_tx_request(); + // the output builder should set the correct log_size + let public_inputs = builder.execute(); + assert_eq(public_inputs.end.contract_class_logs[0].inner.log_size, log_fields.len()); + } } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_inner.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_inner.nr index 43a9317724e4..1de9039aef05 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_inner.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_inner.nr @@ -95,7 +95,9 @@ mod tests { }; use dep::types::{ abis::kernel_circuit_public_inputs::PrivateKernelCircuitPublicInputs, - constants::{PRIVATE_KERNEL_INIT_INDEX, PRIVATE_KERNEL_TAIL_INDEX}, + constants::{ + PRIVATE_KERNEL_INIT_INDEX, PRIVATE_KERNEL_TAIL_INDEX, REGISTERER_CONTRACT_ADDRESS, + }, tests::{fixture_builder::FixtureBuilder, utils::assert_array_eq}, }; @@ -162,6 +164,25 @@ mod tests { ); } + #[test] + fn private_kernel_inner_contract_class_log_output_as_expected() { + let mut builder = PrivateKernelInnerInputsBuilder::new(); + let log_fields = [1, 2, 3]; + + builder.private_call.add_contract_class_log(log_fields); + let registerer_index = REGISTERER_CONTRACT_ADDRESS.inner as u32; + let _ = builder.private_call.use_protocol_contract(registerer_index); + // edit the log_size to be incorrect + let mut log = builder.private_call.contract_class_logs.get_unchecked(0); + log.inner.log_size = log_fields.len() + 1; + builder.private_call.contract_class_logs.set_unchecked(0, log); + builder.previous_kernel.protocol_contract_tree_root = + builder.private_call.protocol_contract_tree_root; + // the output builder should set the correct log_size + let public_inputs = builder.execute(); + assert_eq(public_inputs.end.contract_class_logs[0].inner.log_size, log_fields.len()); + } + #[test] fn valid_previous_kernel() { for i in 0..ALLOWED_PREVIOUS_CIRCUITS.len() { diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_tail.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_tail.nr index ff3123ef8479..6a9ee1e2cfd9 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_tail.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_tail.nr @@ -71,8 +71,8 @@ mod tests { traits::{Empty, FromField}, }; use dep::types::constants::{ - DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, GENERATOR_INDEX__IVSK_M, L2_GAS_PER_L2_TO_L1_MSG, - L2_GAS_PER_LOG_BYTE, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, + DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, GENERATOR_INDEX__IVSK_M, L2_GAS_PER_CONTRACT_CLASS_LOG, + L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, PRIVATE_KERNEL_INNER_INDEX, PRIVATE_KERNEL_TAIL_INDEX, PRIVATE_LOG_SIZE_IN_FIELDS, }; @@ -123,25 +123,6 @@ mod tests { assert_eq(public_inputs.rollup_validation_requests.max_block_number.unwrap(), 13); } - #[test] - fn measuring_of_log_lengths() { - let mut builder = PrivateKernelTailInputsBuilder::new(); - // Logs for the previous call stack. - let prev_contract_class_logs_hash = 956; - let prev_contract_class_log_preimages_length = 24; - builder.previous_kernel.add_contract_class_log_hash( - prev_contract_class_logs_hash, - prev_contract_class_log_preimages_length, - ); - - let public_inputs = builder.execute(); - - assert_eq( - public_inputs.end.contract_class_log_preimages_length, - prev_contract_class_log_preimages_length, - ); - } - #[test] fn ordering_of_msgs() { let mut builder = PrivateKernelTailInputsBuilder::new(); @@ -271,20 +252,23 @@ mod tests { #[test] unconstrained fn tx_consumed_gas_from_logs() { let mut builder = PrivateKernelTailInputsBuilder::new(); + let cc_log_fields = [1, 2, 3]; builder.previous_kernel.append_siloed_private_logs_for_note(1, 33); - builder.previous_kernel.add_contract_class_log_hash(999, 12); + builder.previous_kernel.add_contract_class_log(cc_log_fields); builder.previous_kernel.end_setup(); builder.previous_kernel.append_siloed_private_logs_for_note(2, 44); let public_inputs = builder.execute(); let num_private_logs = 1 + 2; - let num_da_fields = 1 /* nullifier */ + num_private_logs * PRIVATE_LOG_SIZE_IN_FIELDS; - let num_da_bytes = (num_da_fields * DA_BYTES_PER_FIELD) + 12 /* contract_class_logs */; + let num_da_fields = 1 /* nullifier */ + + num_private_logs * PRIVATE_LOG_SIZE_IN_FIELDS + + 1 /* contract_class_logs */ * cc_log_fields.len(); + let num_da_bytes = (num_da_fields * DA_BYTES_PER_FIELD); let da_gas = num_da_bytes * DA_GAS_PER_BYTE; let l2_gas = 1 * L2_GAS_PER_NULLIFIER + num_private_logs * L2_GAS_PER_PRIVATE_LOG - + 12 * L2_GAS_PER_LOG_BYTE; + + 1 * L2_GAS_PER_CONTRACT_CLASS_LOG /* contract_class_logs */; assert_eq(Gas::tx_overhead() + Gas::new(da_gas, l2_gas), public_inputs.gas_used); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_tail_to_public.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_tail_to_public.nr index 92349a70f76d..9de5df2ed814 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_tail_to_public.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/private_kernel_tail_to_public.nr @@ -69,13 +69,13 @@ mod tests { address::{AztecAddress, EthAddress}, point::Point, tests::{fixture_builder::FixtureBuilder, utils::assert_array_eq}, - traits::{Empty, FromField}, + traits::FromField, }; use dep::types::constants::{ DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, GENERATOR_INDEX__TSK_M, - L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_LOG_BYTE, L2_GAS_PER_NOTE_HASH, L2_GAS_PER_NULLIFIER, - L2_GAS_PER_PRIVATE_LOG, PRIVATE_KERNEL_INNER_INDEX, PRIVATE_KERNEL_TAIL_INDEX, - PRIVATE_LOG_SIZE_IN_FIELDS, + L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NOTE_HASH, + L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, PRIVATE_KERNEL_INNER_INDEX, + PRIVATE_KERNEL_TAIL_INDEX, PRIVATE_LOG_SIZE_IN_FIELDS, }; // TODO: Reduce the duplicated code/tests for PrivateKernelTailToPublicInputs and PrivateKernelTailInputs. @@ -381,21 +381,24 @@ mod tests { #[test] unconstrained fn tx_consumed_gas_from_logs() { let mut builder = PrivateKernelTailToPublicInputsBuilder::new(); + let cc_log_fields = [1, 2, 3]; builder.previous_kernel.append_siloed_private_logs_for_note(2, 11); - builder.previous_kernel.add_contract_class_log_hash(420, 12); + builder.previous_kernel.add_contract_class_log(cc_log_fields); builder.previous_kernel.end_setup(); builder.previous_kernel.append_siloed_private_logs_for_note(1, 33); let public_inputs = builder.execute(); let num_private_logs = 3; - let num_da_fields = 1 /* nullifier */ + num_private_logs * PRIVATE_LOG_SIZE_IN_FIELDS; - let num_da_bytes = (num_da_fields * DA_BYTES_PER_FIELD) + 12 /* contract_class_logs */; + let num_da_fields = 1 /* nullifier */ + + num_private_logs * PRIVATE_LOG_SIZE_IN_FIELDS + + 1 /* contract_class_logs */ * cc_log_fields.len(); + let num_da_bytes = (num_da_fields * DA_BYTES_PER_FIELD); let da_gas = num_da_bytes * DA_GAS_PER_BYTE; let l2_gas = FIXED_AVM_STARTUP_L2_GAS + 1 * L2_GAS_PER_NULLIFIER + num_private_logs * L2_GAS_PER_PRIVATE_LOG - + 12 * L2_GAS_PER_LOG_BYTE /* contract_class_logs */; + + 1 * L2_GAS_PER_CONTRACT_CLASS_LOG /* contract_class_logs */; assert_eq(public_inputs.gas_used, Gas::tx_overhead() + Gas::new(da_gas, l2_gas)); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/previous_kernel_validator_builder/mod.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/previous_kernel_validator_builder/mod.nr index 2ca221dbfbd4..ed437527267f 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/previous_kernel_validator_builder/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/previous_kernel_validator_builder/mod.nr @@ -2,7 +2,7 @@ mod validate_common; mod validate_no_transient_data; use crate::components::previous_kernel_validator::PreviousKernelValidator; -use dep::types::{address::AztecAddress, tests::fixture_builder::FixtureBuilder}; +use dep::types::{address::AztecAddress, tests::fixture_builder::FixtureBuilder, traits::FromField}; pub struct PreviousKernelValidatorBuilder { previous_kernel: FixtureBuilder, diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_call_data_validator_builder/validate_call.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_call_data_validator_builder/validate_call.nr index ccae9d794cc2..8363e1bd4ddf 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_call_data_validator_builder/validate_call.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_call_data_validator_builder/validate_call.nr @@ -48,11 +48,11 @@ fn validate_call_is_static_creating_private_logs_fails() { builder.validate(); } -#[test(should_fail_with = "contract_class_logs_hashes must be empty for static calls")] -fn validate_call_is_static_creating_contract_class_logs_hashes_fails() { +#[test(should_fail_with = "contract_class_logs must be empty for static calls")] +fn validate_call_is_static_creating_contract_class_logs_fails() { let mut builder = PrivateCallDataValidatorBuilder::new().is_static_call(); - builder.private_call.add_contract_class_log_hash(1, 2); + builder.private_call.add_contract_class_log([1]); builder.validate(); } @@ -62,7 +62,7 @@ fn validate_call_is_from_class_registerer_fails() { // the default bulder address != REGISTERER_CONTRACT_ADDRESS let mut builder = PrivateCallDataValidatorBuilder::new(); - builder.private_call.add_contract_class_log_hash(1, 2); + builder.private_call.add_contract_class_log([1]); builder.validate(); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_call_data_validator_builder/validate_contract_address.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_call_data_validator_builder/validate_contract_address.nr index c68b0d4ee9ef..4c8d2e32e4ce 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_call_data_validator_builder/validate_contract_address.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_call_data_validator_builder/validate_contract_address.nr @@ -16,7 +16,7 @@ impl PrivateCallDataValidatorBuilder { pub fn new_with_protocol_contract() -> Self { let mut builder = PrivateCallDataValidatorBuilder::new(); - let _ = builder.private_call.use_protocol_contract(); + let _ = builder.private_call.use_protocol_contract(1); builder } } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_output_validator_builder/validate_propagated_from_previous_kernel.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_output_validator_builder/validate_propagated_from_previous_kernel.nr index 9491db1f7398..6cc955b1da18 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_output_validator_builder/validate_propagated_from_previous_kernel.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_output_validator_builder/validate_propagated_from_previous_kernel.nr @@ -229,24 +229,24 @@ fn validate_propagated_from_previous_kernel_private_logs_less_than_fails() { } /** - * contract_class_log_hashes + * contract_class_logs */ #[test] -fn validate_propagated_from_previous_kernel_contract_class_log_hashes_succeeds() { +fn validate_propagated_from_previous_kernel_contract_class_logs_succeeds() { let mut builder = PrivateKernelCircuitOutputValidatorBuilder::new(); - builder.previous_kernel.add_contract_class_log_hash(2, 1); - builder.output.add_contract_class_log_hash(2, 1); + builder.previous_kernel.add_contract_class_log([2]); + builder.output.add_contract_class_log([2]); builder.validate_as_inner_call(); } #[test(should_fail_with = "output should be appended with empty items")] -fn validate_propagated_from_previous_kernel_contract_class_log_hashes_less_than_fails() { +fn validate_propagated_from_previous_kernel_contract_class_logs_less_than_fails() { let mut builder = PrivateKernelCircuitOutputValidatorBuilder::new(); // Propagate 1 less item to the output. - builder.output.add_contract_class_log_hash(2, 1); + builder.output.add_contract_class_log([2]); builder.validate_as_inner_call(); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_output_validator_builder/validate_propagated_from_private_call.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_output_validator_builder/validate_propagated_from_private_call.nr index 7efc5cf32e5f..64dce9d5c1a4 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_output_validator_builder/validate_propagated_from_private_call.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_output_validator_builder/validate_propagated_from_private_call.nr @@ -364,28 +364,41 @@ fn validate_propagated_from_private_call_private_logs_with_previous_output_excee } /** - * contract_class_log_hashes + * contract_class_logs */ #[test] -fn validate_propagated_from_private_call_contract_class_log_hashes_succeeds() { +fn validate_propagated_from_private_call_contract_class_logs_succeeds() { let mut builder = PrivateKernelCircuitOutputValidatorBuilder::new(); - builder.private_call.add_contract_class_log_hash(2, 1); - builder.output.add_contract_class_log_hash(2, 1); + builder.previous_kernel.add_contract_class_log([2]); + builder.output.add_contract_class_log([2]); builder.validate_as_inner_call(); } #[test(should_fail_with = "output should be appended with empty items")] -fn validate_propagated_from_private_call_contract_class_log_hashes_output_one_more_fails() { +fn validate_propagated_from_private_call_contract_class_logs_output_one_more_fails() { let mut builder = PrivateKernelCircuitOutputValidatorBuilder::new(); // Propagate 1 more item to the output. - builder.output.add_contract_class_log_hash(2, 1); + builder.output.add_contract_class_log([2]); builder.validate_as_inner_call(); } +#[test(should_fail_with = "source item does not append to dest")] +fn validate_propagated_from_private_call_contract_class_logs_incorrect_size() { + let mut builder = PrivateKernelCircuitOutputValidatorBuilder::new(); + + builder.private_call.add_contract_class_log([1, 2, 3]); + builder.output.add_contract_class_log([1, 2, 3]); + // edit the output log_size (the private_call log_size is mutated when added to public_inputs) + let mut log = builder.output.contract_class_logs.get_unchecked(0); + log.inner.log_size = 12; + builder.output.contract_class_logs.set_unchecked(0, log); + builder.validate_as_inner_call(); +} + /** * private_call_requests */ diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_public_inputs_composer_builder/new_from_previous_kernel_with_private_call.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_public_inputs_composer_builder/new_from_previous_kernel_with_private_call.nr index b9b2f00a33c8..9cf4912115d8 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_public_inputs_composer_builder/new_from_previous_kernel_with_private_call.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_public_inputs_composer_builder/new_from_previous_kernel_with_private_call.nr @@ -211,15 +211,15 @@ fn new_from_previous_kernel_with_private_call_private_logs_succeeds() { } #[test] -fn new_from_previous_kernel_with_private_call_contract_class_log_hashes_succeeds() { +fn new_from_previous_kernel_with_private_call_contract_class_logs_succeeds() { let mut builder = PrivateKernelCircuitPublicInputsComposerBuilder::new(); - builder.private_call.add_contract_class_log_hash(2, 200); - let curr = builder.private_call.contract_class_logs_hashes.storage(); + builder.private_call.add_contract_class_log([2]); + let curr = builder.private_call.contract_class_logs.storage(); let output = builder.compose_from_previous_kernel(); - assert_array_eq(output.end.contract_class_logs_hashes, [curr[0]]); + assert_array_eq(output.end.contract_class_logs, [curr[0]]); } #[test] diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_public_inputs_composer_builder/propagate_from_private_call.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_public_inputs_composer_builder/propagate_from_private_call.nr index c1fc2dc9316d..4744000e9d9a 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_public_inputs_composer_builder/propagate_from_private_call.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_circuit_public_inputs_composer_builder/propagate_from_private_call.nr @@ -157,15 +157,15 @@ fn propagate_from_private_call_private_logs_succeeds() { } #[test] -fn propagate_from_private_call_contract_class_log_hashes_succeeds() { +fn propagate_from_private_call_contract_class_logs_succeeds() { let mut builder = PrivateKernelCircuitPublicInputsComposerBuilder::new(); - builder.private_call.add_contract_class_log_hash(2, 200); - let res = builder.private_call.contract_class_logs_hashes.storage(); + builder.private_call.add_contract_class_log([2]); + let res = builder.private_call.contract_class_logs.storage(); let output = builder.compose_from_tx_request(false); - assert_array_eq(output.end.contract_class_logs_hashes, [res[0]]); + assert_array_eq(output.end.contract_class_logs, [res[0]]); } #[test] diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_output_composer_builder/meter_gas_used.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_output_composer_builder/meter_gas_used.nr index c7bf62dfb182..acfdc4d8e948 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_output_composer_builder/meter_gas_used.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_output_composer_builder/meter_gas_used.nr @@ -2,7 +2,7 @@ use crate::components::tail_output_composer::meter_gas_used; use dep::types::{ abis::gas::Gas, constants::{ - DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_LOG_BYTE, + DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NOTE_HASH, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, PRIVATE_LOG_SIZE_IN_FIELDS, }, @@ -44,9 +44,9 @@ fn meter_gas_used_everything_succeeds() { metered_da_bytes += 3 * PRIVATE_LOG_SIZE_IN_FIELDS * DA_BYTES_PER_FIELD; computed_l2_gas += 3 * L2_GAS_PER_PRIVATE_LOG; - builder.add_contract_class_log_hash(3001, 51); - metered_da_bytes += 51; - computed_l2_gas += 51 * L2_GAS_PER_LOG_BYTE; + builder.add_contract_class_log([1, 2, 3]); + metered_da_bytes += 3 * DA_BYTES_PER_FIELD; + computed_l2_gas += 1 * L2_GAS_PER_CONTRACT_CLASS_LOG; let data = builder.to_private_to_rollup_accumulated_data(); let gas = meter_gas_used(data); diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_output_validator_builder/validate_propagated_sorted_values.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_output_validator_builder/validate_propagated_sorted_values.nr index 0ebdc3b87250..6424cf422d9c 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_output_validator_builder/validate_propagated_sorted_values.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_output_validator_builder/validate_propagated_sorted_values.nr @@ -40,28 +40,29 @@ fn validate_propagated_sorted_values_l2_to_l1_msgs_mismatch_hash_fails() { } /** - * contract_class_log_hashes + * contract_class_logs */ #[test] -fn validate_propagated_sorted_values_contract_class_log_hashes_succeeds() { +fn validate_propagated_sorted_values_contract_class_logs_succeeds() { let mut builder = TailOutputValidatorBuilder::new(); - builder.previous_kernel.add_contract_class_log_hash(3, 2); - builder.output.add_contract_class_log_hash(3, 2); + builder.previous_kernel.add_contract_class_log([3, 2]); + builder.output.add_contract_class_log([3, 2]); builder.validate(); } #[test(should_fail_with = "incorrect transformed value")] -fn validate_propagated_sorted_values_contract_class_log_hashes_mismatch_fails() { +fn validate_propagated_sorted_values_contract_class_log_mismatch_fails() { let mut builder = TailOutputValidatorBuilder::new(); - builder.previous_kernel.add_contract_class_log_hash(3, 2); - builder.output.add_contract_class_log_hash(3, 2); + builder.previous_kernel.add_contract_class_log([3, 2]); + builder.output.add_contract_class_log([3, 2]); // Tweak the content in the output. - let mut log_hash = builder.output.contract_class_logs_hashes.get(0); - log_hash.log_hash.value += 1; - builder.output.contract_class_logs_hashes.set(0, log_hash); + let mut log = builder.output.contract_class_logs.get(0); + log.inner.log_size += 1; + builder.output.contract_class_logs.set(0, log); builder.validate(); } + diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/meter_gas_used.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/meter_gas_used.nr index 6dbffae8fd14..af5d8d5eb80a 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/meter_gas_used.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/meter_gas_used.nr @@ -2,9 +2,9 @@ use crate::components::tail_to_public_output_composer::meter_gas_used; use dep::types::{ abis::{gas::Gas, public_call_request::PublicCallRequest}, constants::{ - DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, L2_GAS_PER_L2_TO_L1_MSG, - L2_GAS_PER_LOG_BYTE, L2_GAS_PER_NOTE_HASH, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, - PRIVATE_LOG_SIZE_IN_FIELDS, + DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, + L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NOTE_HASH, + L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, PRIVATE_LOG_SIZE_IN_FIELDS, }, tests::fixture_builder::FixtureBuilder, traits::Empty, @@ -53,7 +53,7 @@ fn meter_gas_used_everything_succeeds() { non_revertible_builder.append_nullifiers(1); non_revertible_builder.append_l2_to_l1_msgs(0); non_revertible_builder.append_private_logs(3); - non_revertible_builder.add_contract_class_log_hash(3001, 51); + non_revertible_builder.add_contract_class_log([1, 2, 3]); non_revertible_builder.append_public_call_requests(1); revertible_builder.append_note_hashes(1); @@ -77,14 +77,14 @@ fn meter_gas_used_everything_succeeds() { let total_num_side_effects = 4 + 3 + 1; let total_log_bytes = 5 * PRIVATE_LOG_SIZE_IN_FIELDS * DA_BYTES_PER_FIELD // private_logs - + 51; // contract_class_logs + + 3 * DA_BYTES_PER_FIELD; // contract_class_logs let computed_da_gas = (total_num_side_effects * DA_BYTES_PER_FIELD + total_log_bytes) * DA_GAS_PER_BYTE; let computed_l2_gas = 4 * L2_GAS_PER_NOTE_HASH + 3 * L2_GAS_PER_NULLIFIER + 1 * L2_GAS_PER_L2_TO_L1_MSG + 5 * L2_GAS_PER_PRIVATE_LOG - + 51 * L2_GAS_PER_LOG_BYTE /* contract_class_logs */ + + 1 * L2_GAS_PER_CONTRACT_CLASS_LOG + 2 * FIXED_AVM_STARTUP_L2_GAS; assert_eq( diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/split_to_public.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/split_to_public.nr index 20e685f15dd2..ff61039cffca 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/split_to_public.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/split_to_public.nr @@ -10,7 +10,7 @@ fn split_to_public_succeeds() { builder.append_nullifiers(2); builder.append_l2_to_l1_msgs(1); builder.append_private_logs(2); - builder.add_contract_class_log_hash(2, 200); + builder.add_contract_class_log([1, 2, 3]); builder.append_public_call_requests(1); builder.end_setup(); // Revertibles. @@ -52,10 +52,10 @@ fn split_to_public_succeeds() { assert_array_eq(non_revertible.private_logs, [expected[0], expected[1]]); assert_array_eq(revertible.private_logs, [expected[2], expected[3]]); - // contract_class_logs_hashes - let expected = combined_data.contract_class_logs_hashes; - assert_array_eq(non_revertible.contract_class_logs_hashes, [expected[0]]); - assert_array_eq(revertible.contract_class_logs_hashes, []); + // contract_class_logs + let expected = combined_data.contract_class_logs; + assert_array_eq(non_revertible.contract_class_logs, [expected[0]]); + assert_array_eq(revertible.contract_class_logs, []); // public_call_requests let call_requests = combined_data.public_call_requests; diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/tail_to_public_output_composer.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/tail_to_public_output_composer.nr index d4a76a03014f..304086262ebb 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/tail_to_public_output_composer.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/tail_to_public_output_composer_builder/tail_to_public_output_composer.nr @@ -2,9 +2,9 @@ use crate::tests::tail_to_public_output_composer_builder::TailToPublicOutputComp use dep::types::{ abis::gas::Gas, constants::{ - DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, L2_GAS_PER_L2_TO_L1_MSG, - L2_GAS_PER_LOG_BYTE, L2_GAS_PER_NOTE_HASH, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, - PRIVATE_LOG_SIZE_IN_FIELDS, + DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, + L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NOTE_HASH, + L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, PRIVATE_LOG_SIZE_IN_FIELDS, }, tests::utils::{assert_array_eq, swap_items}, }; @@ -25,7 +25,7 @@ fn tail_to_public_output_composer_succeeds() { builder.previous_kernel.append_private_logs(2); - builder.previous_kernel.add_contract_class_log_hash(3002, 9); + builder.previous_kernel.add_contract_class_log([1, 2, 3]); builder.previous_kernel.append_public_call_requests(2); @@ -96,11 +96,11 @@ fn tail_to_public_output_composer_succeeds() { [private_logs[2]], ); - // contract_class_logs_hashes - let log_hashes = data.contract_class_logs_hashes; + // contract_class_logs + let contract_class_logs = data.contract_class_logs; assert_array_eq( - output.non_revertible_accumulated_data.contract_class_logs_hashes, - [log_hashes[0]], + output.non_revertible_accumulated_data.contract_class_logs, + [contract_class_logs[0]], ); // public_call_requests @@ -121,7 +121,8 @@ fn tail_to_public_output_composer_succeeds() { let mut num_msgs = 1; let mut num_private_logs = 2; let mut num_public_calls = 2; - let contract_class_log_bytes = 9; + let num_contract_class_logs = 1; + let contract_class_log_field_length = 3; // Gas: revertible { num_note_hashes += 2; @@ -134,15 +135,15 @@ fn tail_to_public_output_composer_succeeds() { let num_da_fields = num_note_hashes + num_nullifiers + num_msgs + + contract_class_log_field_length + (num_private_logs * PRIVATE_LOG_SIZE_IN_FIELDS); - let computed_da_gas = - (num_da_fields * DA_BYTES_PER_FIELD + contract_class_log_bytes) * DA_GAS_PER_BYTE; + let computed_da_gas = (num_da_fields * DA_BYTES_PER_FIELD) * DA_GAS_PER_BYTE; let computed_l2_gas = num_note_hashes * L2_GAS_PER_NOTE_HASH + num_nullifiers * L2_GAS_PER_NULLIFIER + num_msgs * L2_GAS_PER_L2_TO_L1_MSG + num_private_logs * L2_GAS_PER_PRIVATE_LOG - + contract_class_log_bytes * L2_GAS_PER_LOG_BYTE + + num_contract_class_logs * L2_GAS_PER_CONTRACT_CLASS_LOG + num_public_calls * FIXED_AVM_STARTUP_L2_GAS; assert_eq( diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml index 8e248588c235..84e1c4feab09 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml @@ -1,19 +1,19 @@ [previous_kernel] vk_index = "0x0000000000000000000000000000000000000000000000000000000000000000" vk_path = [ - "0x292020da3a2a4b5b5f0706abf6ad21577e28ee6475ef01af2e901ed536ffd8d9", - "0x1fe924d0ed00548848b9c0de538ea2949a9b7ae17399deee51655339fa7f95e6", - "0x12f6324c36ac7714fed43c5a4cbd90e7ee0038c803783679ad3c1fcb295e4e9f", - "0x1ee4b31996273eccf6db40c0a6907056b06b370c9d39c9949911b799ca270169", - "0x126bb13ce4b07681f511f3a23d88cb7cfe082a76730abd5b4be5c4da3b5c51fb", - "0x050dc6390aace9c6e873b762c65e7d6a21e78e64e5ad6cc7c8fd5e69315ab5fe" + "0x09b808c6e1f7d2ce87d747008261c53f26a2ee688cd09a823db8fe4e6f8e04cf", + "0x1ea20defa1fb494f7ea6adc294d6e90af44d71b5b9d3b6c4dde0247442ce4d04", + "0x2c6a7c3b9516725db304ed9fe1b839ebf61b7acacb6b2e3201a4e4bab6be1259", + "0x1ed25a38cd9d04ab5b82e40e8df5203e8601022abfa3f35de954bae2f5ab9434", + "0x0480e0c2f2c5c4c9096c1dbec900df8718ee5052ec59e04e9c94e7a43eb19139", + "0x00024db01ec2c08872cd46506dfd04762a0498b62b0d619a766a5aedc5c89c6a" ] [previous_kernel.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000100000", "0x0000000000000000000000000000000000000000000000000000000000000020", - "0x00000000000000000000000000000000000000000000000000000000000328b1", + "0x00000000000000000000000000000000000000000000000000000000000353a9", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000000011", @@ -34,184 +34,184 @@ vk_path = [ "0x0000000000000000000000000000000000000000000000000000000000000008", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000047fcf1905cfb9c15a4cf70e2bcfd474d85", - "0x000000000000000000000000000000000024d65dcb0bd8a5858d952683a41b77", - "0x00000000000000000000000000000012ec744073c90ffacde9920ccdc9b2ec0c", - "0x00000000000000000000000000000000001589f6176d7c3b522e247839d03c3c", - "0x000000000000000000000000000000f2a1b1acf4189cd49f4a5621f649e70870", - "0x0000000000000000000000000000000000052ebbf58f8e639679198d151b9ed7", - "0x000000000000000000000000000000cf7e43a131550b37eaade38d7b0521b004", - "0x00000000000000000000000000000000002e036dc7f8d6d060d82040cd9d17be", - "0x000000000000000000000000000000852848d65f65174efa0fd5533a5f54e65d", - "0x00000000000000000000000000000000001df16fa41488410eb321659295e2e1", - "0x000000000000000000000000000000bdb6e51c038cb89f317934188b2959cdcf", - "0x000000000000000000000000000000000012b4a41976ae7bcbcb13e27cb62c13", - "0x000000000000000000000000000000f45eb660bbfeb050d079dd5693bf1942ae", - "0x000000000000000000000000000000000029d01e5ed21019197b196f53354af7", - "0x0000000000000000000000000000006191a44843f17c60653513a8462479c7ea", - "0x00000000000000000000000000000000002245e7005b195c0e7f3524024a87dc", - "0x0000000000000000000000000000004cda575acbeb954f0ee0ef8114ab658cfe", - "0x0000000000000000000000000000000000071a841a527e4215805092bb03036f", - "0x0000000000000000000000000000005a57318d58fa61e0c9b7d9f4c3a80f1b20", - "0x000000000000000000000000000000000004e664896b1a21bf4df731f29b5e44", - "0x00000000000000000000000000000083c78dce9ac7a4d3ffc740f892b01ece3e", - "0x000000000000000000000000000000000011a474b8cb53bcbd0a24dcf4aecc7f", - "0x0000000000000000000000000000009f919ddbe27224277b03efa993b9871e09", - "0x00000000000000000000000000000000000af8c7f638b0d1fd03695f158eb1f8", - "0x000000000000000000000000000000cf3f0cf483e3b60ac46e2580628429291f", - "0x0000000000000000000000000000000000179a988d2f894ba4cc456686236e49", - "0x00000000000000000000000000000041c39c0b069ca7761686f7caf8bd51c343", - "0x0000000000000000000000000000000000133887aa49f10beeb3cc30b3284c69", - "0x00000000000000000000000000000090d53c6a3b26339cda6b73df9208314159", - "0x0000000000000000000000000000000000298c3311fc9170f92de940b042aab9", - "0x000000000000000000000000000000bf37537eb196b05c1d98fa51016a9bacbb", - "0x000000000000000000000000000000000007b05f408a612847259016b9204ae4", - "0x000000000000000000000000000000f670252c93ae136d88595e191d4128b02a", - "0x00000000000000000000000000000000001c425066f305565a4c7cd5db7af8de", - "0x0000000000000000000000000000009088c10942bb491838d082350343bfba5f", - "0x000000000000000000000000000000000001a1083740b17399823e9dde69f9ab", - "0x000000000000000000000000000000a5be3bce0a3fa922de3e7c8e61540fbd94", - "0x00000000000000000000000000000000002b627b9dcf54b342237a640f0379f3", - "0x000000000000000000000000000000d9f6b4eec34dbfac3c49b2e9efbb60c04a", - "0x00000000000000000000000000000000000f3e556b4b04370af11386f427cba1", - "0x00000000000000000000000000000035c9cb5f001915ccb707544d8295b4e4f8", - "0x00000000000000000000000000000000002451c090209c18e440624b96591a23", - "0x000000000000000000000000000000381694f1ab41bc30edb347a4618bbcb253", - "0x00000000000000000000000000000000002668cb793c6bcc3153efc3e521e40c", - "0x00000000000000000000000000000026a0352c25cccd1aea682fc8e975804a3e", - "0x0000000000000000000000000000000000172c855547ef1cf358b1193059ab94", - "0x000000000000000000000000000000c746ba121a8412b23d1a54c2679b7fcb42", - "0x0000000000000000000000000000000000188578f3213bb6dba81fc0826a77f1", - "0x00000000000000000000000000000017f1ad5a36d1d27be395a245b27103333d", - "0x000000000000000000000000000000000004aaea2a12bbe7658d9ebb39bcc49c", - "0x0000000000000000000000000000003d5674ba283399f8ff8e9a4a54ef04f90b", - "0x0000000000000000000000000000000000085ced78b3c248687e55753187ae1a", - "0x000000000000000000000000000000c3f69116b99bc6ffe2ea33348aedab107f", - "0x00000000000000000000000000000000002ac3afb3486a8008fe304176553b8f", - "0x0000000000000000000000000000002b2112dd48e799d1264079e8ef0d1bcaa9", - "0x00000000000000000000000000000000002c9560a53e0bded7eeda7efc3128ce", - "0x00000000000000000000000000000016078a51c3eba292cf5db78ca1a10302a0", - "0x00000000000000000000000000000000002b45bd8d7deeb00c5dd28950fe8663", - "0x000000000000000000000000000000c6b10731458f7591b2f2054fa35130d3d7", - "0x000000000000000000000000000000000021bc70d2c7a3e3778eb03692800f0b", - "0x0000000000000000000000000000002250c4d7f459e91ac8a90146ea1bd57b17", - "0x0000000000000000000000000000000000166328613b357e3f52b0a324ce9bbc", - "0x000000000000000000000000000000d6865b1299db5db396a4b6a83884374bcf", - "0x00000000000000000000000000000000001a294f3d8c5a65e3ffa26b30cd48fa", - "0x0000000000000000000000000000006a4397a48841d23ba00fbca0938310b285", - "0x00000000000000000000000000000000001d5f058d9f8d9ec1215ec97fa5301a", - "0x00000000000000000000000000000010f0a48520cc4a265730c3c253896592d9", - "0x00000000000000000000000000000000000c18a511c4a55a638137ab511d6b59", - "0x000000000000000000000000000000c26ef47b8d2648c3a6fe2e90d56acc1080", - "0x00000000000000000000000000000000000c2cfe2c3d862f0c3c783129b30f4a", - "0x00000000000000000000000000000078b499a64139eb4b9c3a35de09abd9f325", - "0x00000000000000000000000000000000001a97475ec4b37efa29c0672d0900bd", - "0x000000000000000000000000000000c7f3136538eda650068d285385c9377bf3", - "0x00000000000000000000000000000000002eea440707e0ae65d1619ec3a5164d", - "0x000000000000000000000000000000f10f12e5d7d6458c7378e61545241d48bc", - "0x000000000000000000000000000000000011d7f193dc021ba1f70a356d076b5b", - "0x000000000000000000000000000000b74efab19101de5bd968ebeae34d83671d", - "0x00000000000000000000000000000000001e2aa317e8b7bff29a3b77fc5c3899", - "0x0000000000000000000000000000007f89d35cce826817315ef179bb8c271021", - "0x000000000000000000000000000000000017793433109d3e74b4e23c99ff852a", - "0x00000000000000000000000000000037e7f362482e126278c998278d38361479", - "0x000000000000000000000000000000000003e0b3732d506db0c7d4cd2aa72059", - "0x000000000000000000000000000000064c3c62ab0bcad8ddc92d3f417b19103a", - "0x0000000000000000000000000000000000160df69c00c0175d5529c05f51fad1", - "0x000000000000000000000000000000aed90b6927439a7d2642ca7486fa7a7ada", - "0x00000000000000000000000000000000002730c29b29642172ff9349cd2a93d6", - "0x00000000000000000000000000000029ef0b340cfe7aebd25e9d138f3f152124", - "0x000000000000000000000000000000000009578e1e7edcc86fce5d6da67e403a", - "0x000000000000000000000000000000f6f4596202301b6ae4eb0ebbeadd203340", - "0x00000000000000000000000000000000000adc89c48d75b571636f5bbeb4a806", - "0x00000000000000000000000000000000034e3e27454ef992b4bf84b97baa7471", - "0x0000000000000000000000000000000000066f28135748f119631c3fe07fa9d7", - "0x0000000000000000000000000000003b64a66f2ac4979b65e56568c5a31b14ed", - "0x00000000000000000000000000000000002e25783551df50c004ec7cd1f4dd8b", - "0x000000000000000000000000000000e8258f84477c1b62565a559ba7bb38832e", - "0x000000000000000000000000000000000018f76cf0ceeccb4798de741ae89b64", - "0x0000000000000000000000000000001583b176f599e192d7119354034419e8f9", - "0x000000000000000000000000000000000004706a0e23ac32a3566907fb872362", - "0x000000000000000000000000000000d1b9992279342fce9a883849693fcda22a", - "0x000000000000000000000000000000000029046b299293cb09c593372eb6b3e6", - "0x000000000000000000000000000000469680c270e551515344592f59188fa765", - "0x00000000000000000000000000000000002d38d6d4ba1e4763a74ecdb11ca1f3", - "0x000000000000000000000000000000fce917c0d5dca019477c52f6075332b612", - "0x000000000000000000000000000000000012db39e892826b32610ee08251e005", + "0x0000000000000000000000000000009c0851ac3cab8702f8b16f2490b6e515cd", + "0x00000000000000000000000000000000000613bf058208542e18df98311956bb", + "0x0000000000000000000000000000000df8db7b867bc84f0c9a63c9efc6644ad3", + "0x0000000000000000000000000000000000247f7786836be71c84dd02340a158c", + "0x00000000000000000000000000000055fc4f789049f315edde065d4cbdecde13", + "0x000000000000000000000000000000000009613aefa46fd3112500aafec90725", + "0x000000000000000000000000000000427072824a91fc93e553190cf8af70207e", + "0x0000000000000000000000000000000000186392a0c1ade5badf9c905f3f6c6f", + "0x000000000000000000000000000000b2a4f3dc58fb59b487aea5ca0012a5a20e", + "0x000000000000000000000000000000000003d077e8dbdc182745ddd2abfb157c", + "0x0000000000000000000000000000004dad1f89e17dcfb807355dde93df3c8df3", + "0x00000000000000000000000000000000000720f1715dec4e461b50f5315cb18e", + "0x0000000000000000000000000000002abbc35e4ead097c520af920c0d21a3c8f", + "0x000000000000000000000000000000000026551ff1b980a7c8d6f55c3a35ad23", + "0x000000000000000000000000000000bd14e06817e6144eb7f77c8131c44be7df", + "0x00000000000000000000000000000000000d87625e1722073caff53f3e3a042b", + "0x0000000000000000000000000000005e1a80c8b1fe851914a57b6526ebc0c94a", + "0x00000000000000000000000000000000001d1ee6fc186d8801cad952e63496d9", + "0x0000000000000000000000000000009a48df8da0e70726c8aaf7818c015097f3", + "0x00000000000000000000000000000000001636f0a0b0e84600adebdb1bc41490", + "0x00000000000000000000000000000042734701dd80655bbd3617b2b121c5470f", + "0x000000000000000000000000000000000018b81beb6cfd3bfa6338f61d26c029", + "0x00000000000000000000000000000069247d316e21bc4379db9d622df335b45f", + "0x00000000000000000000000000000000000820ba8e0a85dfd473c9ba7de986b3", + "0x00000000000000000000000000000023745a67f551ccdd16c1a0b38ef26140eb", + "0x0000000000000000000000000000000000198420114535a1bfa0d26938e51cdd", + "0x000000000000000000000000000000d39b80ea16f64157869800f8f8cf3da523", + "0x00000000000000000000000000000000000190c0fa3205554acd735ce9f577b6", + "0x0000000000000000000000000000009acb5cb536b55ea20cc347d017099b55d6", + "0x00000000000000000000000000000000002b616e6b6149b096388f3375e9d96d", + "0x000000000000000000000000000000f81c25a96838a586c90e9d7af46d9fd10b", + "0x00000000000000000000000000000000002f650eadf407d939ac8ffcab5add37", + "0x000000000000000000000000000000338ad50a1842e5632ba4d305451d762fca", + "0x000000000000000000000000000000000013b40b39a40b302985e89b3528684b", + "0x00000000000000000000000000000080768e6753a8073272c08d4176a17859e8", + "0x0000000000000000000000000000000000231350483ee0e4ac6d601c87df3890", + "0x000000000000000000000000000000440e6da3a63520038ac06c29ad357f8d03", + "0x000000000000000000000000000000000013c2a72d1c40e4ffd540aa5691235b", + "0x00000000000000000000000000000075fe8ad10c58d5cceb7af96f5ea9dc979a", + "0x00000000000000000000000000000000000d6779bc82975b0e956d8e3e78c02e", + "0x0000000000000000000000000000007620f1f20c038619dfcc902a31dad53aa3", + "0x00000000000000000000000000000000001136cd377a5438f89f1112d8ffc7d5", + "0x000000000000000000000000000000c3d364062b472693062f4b48d9f126326c", + "0x000000000000000000000000000000000003179c4aa7c2e87eec3e2510b2250e", + "0x000000000000000000000000000000c6b4c6812b5372425cf5c5911e24b983ea", + "0x000000000000000000000000000000000002c2d935d27a189573c4ce81899216", + "0x000000000000000000000000000000ef3535ba076601843252ebd5b0e7f332b2", + "0x000000000000000000000000000000000014a07f740e827b49e7b49726c30265", + "0x0000000000000000000000000000000a0c2386b23ef68c2ad32a306393f0bd53", + "0x00000000000000000000000000000000002edfe8f3575b3ad35aad0d2979bca3", + "0x0000000000000000000000000000003d3c11c749c8d07daf3d6acfb9187a72b7", + "0x00000000000000000000000000000000000e1904b8c5bb3a8621f77775e6fea5", + "0x000000000000000000000000000000e607e518a26ce23d4968b3dc3b35228a54", + "0x000000000000000000000000000000000011e8fe720fc542908c45ef762db849", + "0x0000000000000000000000000000005ab38bf4038ce61ad08f5448fae170af64", + "0x00000000000000000000000000000000002fdb34097a115e19c7ffade6abc79c", + "0x0000000000000000000000000000003f9d50bf1a65788f4c0bf9d0c3af952126", + "0x00000000000000000000000000000000001b6e2aadeafc2ee6231fdd81d515ad", + "0x000000000000000000000000000000c9f88c7b88a877c8a42631677d9e42a04b", + "0x0000000000000000000000000000000000260f9175307c294892d8f24a23dc36", + "0x000000000000000000000000000000c387ef3f0bc3cd548ffe89511e76570659", + "0x00000000000000000000000000000000000b6e2fe38463e7dfc02c17e40b686f", + "0x0000000000000000000000000000008a962a9bdcc4f48af68d2152392a809364", + "0x0000000000000000000000000000000000072c1f10a015dda6c4d5238a9bb8e4", + "0x000000000000000000000000000000b8a20707e81e1f2ed6f1d8df319474b728", + "0x000000000000000000000000000000000013da71953e3ba7845a172644988ff0", + "0x0000000000000000000000000000001196ba3203a0f232cd957e758c527b81a7", + "0x00000000000000000000000000000000002dab654380a01df5bd91f7f9fc180d", + "0x000000000000000000000000000000926468576683a3de1bea444aef5eb46bd4", + "0x00000000000000000000000000000000001fdb8907f316642ed42f08ea267b62", + "0x00000000000000000000000000000022022ff22779b898d976f728d904c546be", + "0x00000000000000000000000000000000000c95c93cc4d17e351bf4fc503c7436", + "0x000000000000000000000000000000cd2b99d2b292d723fe69c95aacb61ebca0", + "0x00000000000000000000000000000000001b23e46668182c4e5ef2ed26f916fd", + "0x0000000000000000000000000000000b340c040a94df6c288296ed9e40f76c47", + "0x000000000000000000000000000000000026d18c4da3eeafcd581ac7288a1093", + "0x000000000000000000000000000000972da678b1c65b9566c8b138e0cbfec1bc", + "0x000000000000000000000000000000000007e0c54f0962bf79ce2a99a7092aea", + "0x0000000000000000000000000000001ad49d975baf1e91957ac9431dc63f9efd", + "0x00000000000000000000000000000000002eace0288a134417703f51719b8774", + "0x00000000000000000000000000000003596d5fdfd8a1623d991fd9fd528b9a31", + "0x000000000000000000000000000000000000ac2e0bbfb9f6710bab1b476df4f5", + "0x000000000000000000000000000000fcd559256eb26c17c295cc4e53f99c94b6", + "0x00000000000000000000000000000000002fe008c880a2075e2431207347c33e", + "0x000000000000000000000000000000dc2ffe09726d00396b24378038559cc081", + "0x000000000000000000000000000000000020cf3f101e65bb4cbec63680fbaa6a", + "0x0000000000000000000000000000003486b8f4776305b7351add5f8c20d900ef", + "0x00000000000000000000000000000000000e9623a997174ddbaa9d9554bb39a5", + "0x0000000000000000000000000000000d04c904b2c5f624d26669530334cc4b25", + "0x00000000000000000000000000000000000b36939303a8c5e92259b7a4b16ffe", + "0x000000000000000000000000000000c086e27f564430986bc964d09a282fb750", + "0x0000000000000000000000000000000000066bb40e548ad34d12e3f39f5e392b", + "0x000000000000000000000000000000610306556851631dd6304561e8fe91ed13", + "0x000000000000000000000000000000000011bf4025cb983957cfeb5a2cebda60", + "0x00000000000000000000000000000018e61ac2cec1d8c1aa9d7d678b7a947031", + "0x0000000000000000000000000000000000145e7aa0fb8e50873c7e8ae562a427", + "0x000000000000000000000000000000d145aac6b329c0831c1541d5c88c171666", + "0x00000000000000000000000000000000001ed4a2ea5183d97490a265d184ed9e", + "0x00000000000000000000000000000016c6302662e92a3a32b9b8f824b58cc78a", + "0x00000000000000000000000000000000001d7f5e64a099c6aa63052a1196db25", + "0x000000000000000000000000000000fe716dd150329d8164d09fbce114f85659", + "0x0000000000000000000000000000000000001d8ee895257e5b8a525b7d98d473", + "0x00000000000000000000000000000038171d7f06a80e075a97705157118d6b0b", + "0x0000000000000000000000000000000000259b3dff83158e703b961c37e90120", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000c77bfd4e323bf4b587a765f94fd95a8b79", - "0x000000000000000000000000000000000024009f6e07ac7a3b6be0bb489fbecc", - "0x00000000000000000000000000000057a8b3aca5f0c3ee69ebb7065f7ad49d24", - "0x00000000000000000000000000000000001cbb1e4420739c580a8ddde8b93cf6", - "0x0000000000000000000000000000006241ca0c75be2d15e6b9188983d6b41e2d", - "0x00000000000000000000000000000000001a71ab9767b295f9337074850d2d40", - "0x000000000000000000000000000000ec7f970d2da2ca7f41836eb044f5a75b01", - "0x00000000000000000000000000000000001a9a63c00430414d47f85b2352b1d7", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" -] - hash = "0x23a2a161bf6411223041b53e3dfc9b62249771587188adefd16695b0361456ce" + "0x000000000000000000000000000000f24508ddacd8fdab428975081accb738b9", + "0x00000000000000000000000000000000000ccaa24938cb0227610c81c50a50cb", + "0x00000000000000000000000000000071ae3820b32f96d381a1d0bc647649cf18", + "0x00000000000000000000000000000000001e79788a49cb7c52cf4612d50d01d8", + "0x000000000000000000000000000000c2b34bcc8a5125396ad89848312a3e7894", + "0x0000000000000000000000000000000000279be7e16a96c1710584dac89de72d", + "0x0000000000000000000000000000009884b93d89228ba072daa18f2b792a97cc", + "0x00000000000000000000000000000000000602aab1aa16e1f9baa4a2d2e13cc1", + "0x000000000000000000000000000000cc2411e675859a0b8304fec0a5490b5e93", + "0x000000000000000000000000000000000019599133b74e15b1b7cd20473a6fac", + "0x000000000000000000000000000000d3a882cf4261b0f6e2b04e894a031fb1db", + "0x00000000000000000000000000000000001ac56d8462aa7cac1d61eb350f1aee" +] + hash = "0x10d3b9d13f2267a83e7a6f099e01dd70c8bc28fe8c93eebb616b31b69bf99880" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" is_private_only = false -claimed_first_nullifier = "0x18c1d8257c9cd53747f099177836c9812fce65ef3198af150c25a5480033e6c4" +claimed_first_nullifier = "0x22a250820ac78cb55d61bb3770140ed129a9e49ad21e91105d7f28b7c042236e" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x048e6bd7b9c1bee68207fabe01c023a98b343a54ef593e1931cb25ded7fc5bd8" - protocol_contract_tree_root = "0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423" + vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" + protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" [previous_kernel_public_inputs.constants.historical_header] - total_fees = "0x0000000000000000000000000000000000000000000000000031330b0a66bc54" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000003e6e6" + total_fees = "0x00000000000000000000000000000000000000000000000000000015b099d070" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000015991" [previous_kernel_public_inputs.constants.historical_header.last_archive] - root = "0x04b19a2b9704f0fdd79af2ab20cc465cba8067b4ace1c2fcf684d9294a443f37" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000005" + root = "0x23520abe588666a33f4a84275f6fefe5f5207d027617374a803fd2e4a0091ec9" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [previous_kernel_public_inputs.constants.historical_header.content_commitment] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" - blobs_hash = "0x005d3a589a8e94da5a124b547aaea5338761ab52ec8ffb81b5172cd90ac3022f" + blobs_hash = "0x006a0f5e919dc9288760027e31a1e696774efc08c96b3c1dd43f68ee1b9f6359" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.state.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000050" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [previous_kernel_public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x263f05e22af6bb2956b81d6f8de8d384bde3893253c8e04fc73aa3946147eecf" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x1ff29c18e0b396c446900d13fdfa93601c41e32feb210e77930dbe5ef7afa0aa" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x01cd675b23dcd28b8cb36c75b645ea13691ee485576d6c06a5e21fa30a5601ba" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000096" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" [previous_kernel_public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000005" - slot_number = "0x000000000000000000000000000000000000000000000000000000000000000a" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067a0ebc7" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34871" [previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x000000000000000000000000a6d65a1ad1795526cb63f95cb3685b634407b98c" + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" [previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000c9be302ae" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000101170" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" @@ -227,23 +227,23 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000012e9d48405" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.for_rollup.max_block_number._opt] -_is_some = false -_value = "0x0000000000000000000000000000000000000000000000000000000000000000" +_is_some = true +_value = "0x0000000000000000000000000000000000000000000000000000000000000e17" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.read_request] -value = "0x281bc841984d7efd042c90111535e6bf9c0d43777eac6ad3f158e60306068bb7" +value = "0x2eb3174caf2c3c548717dbbc15ccd7c9dad2acc8af7f7d24a9734839f1edd529" counter = "0x0000000000000000000000000000000000000000000000000000000000000002" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.contract_address] -inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" +inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.read_request] @@ -2739,7 +2739,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers]] [previous_kernel_public_inputs.end.nullifiers.nullifier] -value = "0x18c1d8257c9cd53747f099177836c9812fce65ef3198af150c25a5480033e6c4" +value = "0x22a250820ac78cb55d61bb3770140ed129a9e49ad21e91105d7f28b7c042236e" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4361,266 +4361,3288 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[previous_kernel_public_inputs.end.contract_class_logs_hashes]] -[previous_kernel_public_inputs.end.contract_class_logs_hashes.log_hash] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[previous_kernel_public_inputs.end.contract_class_logs_hashes.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000003" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = true - args_hash = "0x2b4e699eaeffd1d96dd2fcfdc862da41486b84a9dfab643ae9fb91a56fc26600" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x2269225dd372f7e0b33082b098987be85ea7236a03df03ef19dbd92926ff848c" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x00000000000000000000000000000000000000000000000000000000d5441b0d" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[[previous_kernel_public_inputs.end.public_call_requests]] +[[previous_kernel_public_inputs.end.contract_class_logs]] +[previous_kernel_public_inputs.end.contract_class_logs.inner] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.end.public_call_requests.inner] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + [previous_kernel_public_inputs.end.contract_class_logs.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + +[previous_kernel_public_inputs.end.contract_class_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000003" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = true + args_hash = "0x29980f5ff25f8404a2a8f8510d22d1acead54b6bfbc1a0ba4004b4a31436b6de" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x13ce6e12aee9046b7e1d8c0753ddfe92b2d2c01a1e64c8335cc522c1592be269" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x00000000000000000000000000000000000000000000000000000000d5441b0d" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.end.public_call_requests]] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] @@ -5561,7 +8583,7 @@ pending_value_index = "0x0000000000000000000000000000000000000000000000000000000 read_request_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [hints.note_hash_read_request_hints.settled_read_hints.membership_witness] - leaf_index = "0" + leaf_index = "64" sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", @@ -5569,9 +8591,9 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x1be890fdd61b292b73101fd0d2cc91acfaa74e76014cdc9ab418cc47f7ffe4be", + "0x1b9e2a4549f31cfca289de2366a97f7091ecaeeef4166502318c327fe22d371c", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", - "0x19bbd7434ede473cf4bd6b9f76288868c9f45a4097da38047d7dfab84eefbe24", + "0x2d5cb3af12c05c3b174e57b2de582bf2bc5aa9ab154670803a07d160f4ae6a82", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", @@ -5606,7 +8628,7 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 ] [hints.note_hash_read_request_hints.settled_read_hints.leaf_preimage] - value = "0x281bc841984d7efd042c90111535e6bf9c0d43777eac6ad3f158e60306068bb7" + value = "0x2eb3174caf2c3c548717dbbc15ccd7c9dad2acc8af7f7d24a9734839f1edd529" [[hints.note_hash_read_request_hints.settled_read_hints]] read_request_index = "0x0000000000000000000000000000000000000000000000000000000000000040" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-tail-to-public/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-tail-to-public/Prover.toml index cc0a4dd0a37c..81eda22f4beb 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-tail-to-public/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-tail-to-public/Prover.toml @@ -1,19 +1,19 @@ [previous_kernel] vk_index = "0x000000000000000000000000000000000000000000000000000000000000003a" vk_path = [ - "0x25b54de8c5524e9944835b5bc78d8a26c50c9b4f15548863726cfc0e9f846982", - "0x285de65336adbd5352ae50e48c01119a3cbf7f862488e6db60d7b8bf7d2d147b", - "0x0016be88c0dd0db32eb7f594c5c1cbcc4a70570ec132c584e6eff59dce487a81", - "0x198f0507817e64fd6f68a323239768bb9f4ef396735363d4a7d6e661b43f6fb4", - "0x02a07f86491a66e42bc8fedea6ea231a77e685b5f358efedc73005c85c5c2c6b", - "0x052ce871283d2279a1d9592abbbc1dfea5ee072ba9d45bb486102d64cb519f49" + "0x2432d3fa9f4cdd00628b623688c5c23d93b5a950554cbf3514afe87d80839a75", + "0x187690512f2728b95ae58458e26ab3efca9abf5bf54061ccf73488cea1126374", + "0x1bb73cae0db882da785e6d2608c5f663efa65c06a0a79445626b8c187eab9c14", + "0x2b4b749d03793d3b7daf8f999ac474709d0637af88317fb784cdf0938cb07cec", + "0x2a797523c8625b372d2937c1ca0931508e4277798adeaed41ebc72baa06c3d1b", + "0x0c8926b35b99cfe91f0395076e5163f546e160ecbc0e7c4dbf94710888cfe75d" ] [previous_kernel.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000100000", "0x0000000000000000000000000000000000000000000000000000000000000020", - "0x00000000000000000000000000000000000000000000000000000000000328b1", + "0x00000000000000000000000000000000000000000000000000000000000353a9", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000000011", @@ -34,184 +34,184 @@ vk_path = [ "0x0000000000000000000000000000000000000000000000000000000000000008", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000093fe8e183d5ebdaad7deae3fa751d1118", - "0x00000000000000000000000000000000002f273e4fbec83595de4bebd49caf18", - "0x0000000000000000000000000000008aba2adc313d6dfebe24256fc57bc7bd87", - "0x0000000000000000000000000000000000284a8ad7a35970cb36da93039143e2", - "0x0000000000000000000000000000000aef7b653329b3027b14e4e1f7d21e9629", - "0x00000000000000000000000000000000000883139847301c0f94ba8e914162eb", - "0x000000000000000000000000000000d2ec6eddcbe139ae0b85239568d9cdba55", - "0x00000000000000000000000000000000001d5504ac9eaed7f1248d4cb9170fc9", - "0x0000000000000000000000000000005e03089f6a2ae3b2438ee7d89b45e97ff9", - "0x000000000000000000000000000000000026115fc76b5b91800622d5b725a6f8", - "0x0000000000000000000000000000008756612c8778b8f205c36317f7a46ee55e", - "0x00000000000000000000000000000000000b7af4a11ff106f3debc8e585ea314", - "0x00000000000000000000000000000060dcb999b07b86c69e4b7e3d9dbde2c6d7", - "0x00000000000000000000000000000000000d96b549fc24083a01377e6b4229c9", - "0x000000000000000000000000000000ae97bc52c964109e5392f327e54d588814", - "0x00000000000000000000000000000000002a457ebaa71598858239233a896745", - "0x0000000000000000000000000000009e4d9c0b5e9e72763ea4720c9d7416ab2b", - "0x000000000000000000000000000000000019eb02f25e30e0f3a69d54bf26054d", - "0x000000000000000000000000000000a590bda8cf4f06e26610c9fb2e82341e9a", - "0x00000000000000000000000000000000002c15a8e8f7fc3d2e995732825d8ba9", - "0x000000000000000000000000000000e0d48a264c68852e1105b2e76d4a41f4d5", - "0x0000000000000000000000000000000000222f7b8dfd0534c54818d307d2ba70", - "0x000000000000000000000000000000b53d7d4af03b4f63e21dbd5a58af40fa8c", - "0x00000000000000000000000000000000000c95aab4d933dd519d6c7f04038d37", - "0x000000000000000000000000000000f70e9e557ee59748e8617834bf413c6c34", - "0x000000000000000000000000000000000012423f785d94511d6bc86ac4239936", - "0x000000000000000000000000000000eba093432debf1618dd778e724f2c30092", - "0x00000000000000000000000000000000002735bd1c110298f886d2ceda234699", - "0x00000000000000000000000000000090d53c6a3b26339cda6b73df9208314159", - "0x0000000000000000000000000000000000298c3311fc9170f92de940b042aab9", - "0x000000000000000000000000000000bf37537eb196b05c1d98fa51016a9bacbb", - "0x000000000000000000000000000000000007b05f408a612847259016b9204ae4", - "0x000000000000000000000000000000a40a18a9df69c69b93417d23bfdf1e7e3a", - "0x000000000000000000000000000000000008e928c676811376669748dd0caf6d", - "0x0000000000000000000000000000004edb8514724a6789a85e99c96fa6aeb62f", - "0x00000000000000000000000000000000002e35fffa9c4f8d4d5fa39efd4fd2c5", - "0x00000000000000000000000000000028f66b5fb397e2225a71fd6d6ffcefcec0", - "0x00000000000000000000000000000000001e46ca453cd829e80641cc91677a83", - "0x000000000000000000000000000000938916dc3f184bf869bc8377112da96ec2", - "0x000000000000000000000000000000000015af6baafa3a78ec8d3577569f4684", - "0x000000000000000000000000000000313818546dffe2432869afa342a60f24b0", - "0x0000000000000000000000000000000000099b6d7dda9dea25d6881cc787922b", - "0x000000000000000000000000000000a922c293e6b92190b3ed73e09a3eec0598", - "0x0000000000000000000000000000000000200226f55126e2a26db027e8465f60", - "0x00000000000000000000000000000098852a46ef0f8d69c667cff91a34691849", - "0x00000000000000000000000000000000000db83b0b506917a7eb815ccfef86b7", - "0x00000000000000000000000000000079248ca0ea221e4cb111b288429cb6a98c", - "0x000000000000000000000000000000000005ee7ae6d29aefaa3c7f2027c2a163", - "0x0000000000000000000000000000004e3b86ef5260e0057ae7adf5cffdf099e9", - "0x00000000000000000000000000000000000f130e83127c5f4c56a662a73a7af9", - "0x000000000000000000000000000000464a404f31609f961bdd41be11aab6bdc5", - "0x0000000000000000000000000000000000022496b3c9bdb121588fbaabec3eda", - "0x00000000000000000000000000000067440797a221c483ba274c69f2c3dceaaf", - "0x0000000000000000000000000000000000152ca7f7336e4bb12e0d5128d41376", - "0x0000000000000000000000000000009c07398411638cf80db2ceff3f0aa1cc75", - "0x000000000000000000000000000000000016d8a71b5dea130cc11fa998fef3c2", - "0x000000000000000000000000000000968447f5450a13cefa00788bd59126a3b8", - "0x00000000000000000000000000000000002a64ecdd9748706f94c8dada141f4f", - "0x000000000000000000000000000000bde81eb7f3cce82941372201e11709633d", - "0x0000000000000000000000000000000000241b0ec445136f4fadd865a21137c5", - "0x000000000000000000000000000000ce0da01178b47c56d35efb764675e1537d", - "0x00000000000000000000000000000000000283a5b6f81b36da254dd46c435c40", - "0x00000000000000000000000000000020cfdc51ef678c32b5237607b53bc06353", - "0x00000000000000000000000000000000001bdadc1691fb5c96402180f5193890", - "0x000000000000000000000000000000f41ab63d01059b4790fdea0440f568b45b", - "0x00000000000000000000000000000000002caad696ac41bef7b1b8a7d2250bf0", - "0x000000000000000000000000000000b3996fb09ce9574f9632b154eb6e4743c5", - "0x0000000000000000000000000000000000106226aad9123ae94149cd678f21fc", - "0x000000000000000000000000000000907a6204191789db7a72e0ce14d7fcd489", - "0x000000000000000000000000000000000020559afe5eacbf0805b86fe25f0f49", - "0x0000000000000000000000000000006eb41296b8b3491a78f65465c017e3e94d", - "0x0000000000000000000000000000000000300302eca957220326be8a37a22c8c", - "0x000000000000000000000000000000853aa18d86b20377594e5ac1affd04d104", - "0x00000000000000000000000000000000002ded493574ec805c93ef8d23280d0c", - "0x000000000000000000000000000000fdb4b225cf021e478b7deebd7f67658ce0", - "0x00000000000000000000000000000000001a1110d7aed19fb8cc151e86046215", - "0x000000000000000000000000000000fbcf20e3bca8fbee1adb83917f18d5b8fe", - "0x00000000000000000000000000000000001fce29b139c69d8fbdf1daa57b5c10", - "0x00000000000000000000000000000051f5a82a02e8e735362a90147ab4224bc3", - "0x00000000000000000000000000000000002b21d3e1558250d2cc416d905447a0", - "0x000000000000000000000000000000e396b8b4fee678025e67f64f6f8378efc3", - "0x000000000000000000000000000000000005bd855282395fd47ece51ad8e8882", - "0x0000000000000000000000000000009d8bbc17eba9ea838161e716c1495ec604", - "0x0000000000000000000000000000000000058911c7670cbddc529c81cf244b2d", - "0x000000000000000000000000000000ab2141062e7fbbf605ef4daca8c2791768", - "0x0000000000000000000000000000000000092600b8f19b77a3d27f87e821da28", - "0x00000000000000000000000000000006bb64520d6a5d3c8ce48e05164bd73dda", - "0x0000000000000000000000000000000000023fff471462ecf9a25789ae1b6a4e", - "0x000000000000000000000000000000f6f4596202301b6ae4eb0ebbeadd203340", - "0x00000000000000000000000000000000000adc89c48d75b571636f5bbeb4a806", - "0x00000000000000000000000000000000034e3e27454ef992b4bf84b97baa7471", - "0x0000000000000000000000000000000000066f28135748f119631c3fe07fa9d7", - "0x0000000000000000000000000000003b64a66f2ac4979b65e56568c5a31b14ed", - "0x00000000000000000000000000000000002e25783551df50c004ec7cd1f4dd8b", - "0x000000000000000000000000000000e8258f84477c1b62565a559ba7bb38832e", - "0x000000000000000000000000000000000018f76cf0ceeccb4798de741ae89b64", - "0x0000000000000000000000000000001583b176f599e192d7119354034419e8f9", - "0x000000000000000000000000000000000004706a0e23ac32a3566907fb872362", - "0x000000000000000000000000000000d1b9992279342fce9a883849693fcda22a", - "0x000000000000000000000000000000000029046b299293cb09c593372eb6b3e6", - "0x000000000000000000000000000000469680c270e551515344592f59188fa765", - "0x00000000000000000000000000000000002d38d6d4ba1e4763a74ecdb11ca1f3", - "0x000000000000000000000000000000fce917c0d5dca019477c52f6075332b612", - "0x000000000000000000000000000000000012db39e892826b32610ee08251e005", + "0x00000000000000000000000000000026d66364620a10328721e8590ebaeb8211", + "0x00000000000000000000000000000000001f33cb2d388f8b1cf7f1c124af3246", + "0x000000000000000000000000000000e8c381a94a850d71b8829edc5e073e3391", + "0x000000000000000000000000000000000027c983a2cda053bfe59094f8b1129d", + "0x0000000000000000000000000000004a6d87898c2f0bdc702464287a5feeb8d1", + "0x000000000000000000000000000000000021394672018b3b9f42b3633a846ecb", + "0x000000000000000000000000000000dd90b0bfa5e718afbd190c34f913d974f2", + "0x00000000000000000000000000000000001568265d10632c4470eb86575d58e3", + "0x000000000000000000000000000000087f99c49882ab9aa290e23a4b8ee46445", + "0x00000000000000000000000000000000002355a7a88138c7a81d3e5fc23df036", + "0x000000000000000000000000000000b9ea5a3e2f8b7724640877154c92cbe7bf", + "0x000000000000000000000000000000000011b56e44469994a0a24d66e26836fd", + "0x000000000000000000000000000000a7428d7e32ef047ea36799d01d8f90c740", + "0x00000000000000000000000000000000000a18957ede2b1da276ca67673b011a", + "0x000000000000000000000000000000cccc09302550df01f890a81d60cea3fce6", + "0x000000000000000000000000000000000010d0c4c5aa13bf9f9cce00ad32be76", + "0x00000000000000000000000000000006e15d47bfbd4da7d3ce45f15ff0d1bf02", + "0x00000000000000000000000000000000002a0853d16a0d76218933a2985ee7a6", + "0x00000000000000000000000000000099a5f6fca677a39721eda6ecb8351e031b", + "0x000000000000000000000000000000000009afcfa99e8da348909767357ae08d", + "0x0000000000000000000000000000008a110c9320311e8f940caab17d48fcfb0b", + "0x00000000000000000000000000000000000fe673223b01a74896c1522dd24e03", + "0x0000000000000000000000000000005ca6ba25f342fd8f78e5d64b430257adf7", + "0x00000000000000000000000000000000002972b8445b2765ef1280910309d832", + "0x0000000000000000000000000000000761f30eed3edd9f2d27fee471e1075c78", + "0x00000000000000000000000000000000001eafacc08451a76c1b3d3305ff4b08", + "0x0000000000000000000000000000004c0004190f6ca64858ca19b685924bcddb", + "0x000000000000000000000000000000000022788f3921a4bb7f82b9f5938f1ae8", + "0x0000000000000000000000000000009acb5cb536b55ea20cc347d017099b55d6", + "0x00000000000000000000000000000000002b616e6b6149b096388f3375e9d96d", + "0x000000000000000000000000000000f81c25a96838a586c90e9d7af46d9fd10b", + "0x00000000000000000000000000000000002f650eadf407d939ac8ffcab5add37", + "0x000000000000000000000000000000d82408e17f639ba465acdfbd14b450755e", + "0x000000000000000000000000000000000016125edcd9dccda44f3d24fb8cc150", + "0x000000000000000000000000000000bfaf1a50699f6e507ec1f05387c878490d", + "0x00000000000000000000000000000000001d0a0dfb1f18502e5fa8b6e14111ab", + "0x000000000000000000000000000000b23c624f16c3f5c8764d3c96661f21ddd8", + "0x000000000000000000000000000000000008abc8da33a3cee0e062d1dbc84994", + "0x00000000000000000000000000000018e40b62109961c9a695885536f5043d81", + "0x00000000000000000000000000000000000299463d7946278f6ac0e750972285", + "0x0000000000000000000000000000002154bd3a47ed8024733bc17c8df31f6dfa", + "0x0000000000000000000000000000000000055733251bf9597c156fad7b79b1a1", + "0x000000000000000000000000000000a70d48d22fc0895d1fc3294ed24a91347b", + "0x0000000000000000000000000000000000127d7a342f8aecf1081fb8e224d552", + "0x0000000000000000000000000000006fdbd113d2b32c70b5049298f578444a98", + "0x000000000000000000000000000000000021f25c9625e00428a0f51b02fb3190", + "0x000000000000000000000000000000b6f381e646514eb2f92a5ef74113dc1cf5", + "0x0000000000000000000000000000000000275b0e010452e16542b61751ef70d1", + "0x0000000000000000000000000000008a941d6861c5434e44a585935e91baf6b2", + "0x00000000000000000000000000000000000b23bc7cb9556697d42a4b8288d096", + "0x000000000000000000000000000000ed813d6940c29fbb1f74d6201d09f59b1d", + "0x00000000000000000000000000000000001ed547aa1fc1a1cb144e5870bafcd7", + "0x00000000000000000000000000000073a058a519800050346e098cd45652db14", + "0x000000000000000000000000000000000007fbca44c464bdb23c3193d5299d53", + "0x000000000000000000000000000000d9810e4bcb69024cee6508a3e28e877481", + "0x00000000000000000000000000000000002960d93a861b9ac2234c79ee8c3965", + "0x0000000000000000000000000000004dc9b27e91fe937d388a2bcde90acc1c84", + "0x00000000000000000000000000000000002543980a6d14b6b41414e800984edf", + "0x0000000000000000000000000000009213c0a95c319c473ba0cb7eb443c2dbe5", + "0x0000000000000000000000000000000000255d800fd0d88c5e29f99a32c4189e", + "0x0000000000000000000000000000007518f8ac5586ae2a79135d7b67d7b4ef72", + "0x0000000000000000000000000000000000214e55761ca16a0dab0b5e208ff557", + "0x000000000000000000000000000000d9ac27e0873e60c8c0fd37e02130fbafb9", + "0x000000000000000000000000000000000018fc231a9753bba7a42de00e3aefd7", + "0x0000000000000000000000000000009002fd1e74774468c0d36b0beb42ae4f8c", + "0x00000000000000000000000000000000001d9a6878ab8f7c1060307c94b485ee", + "0x000000000000000000000000000000dfe62528888818d86e40a6bc317dda9e01", + "0x0000000000000000000000000000000000150dcef5d49ffcb2f82e4ba3471256", + "0x000000000000000000000000000000b24e5151c2ec3c172a3ffeb0e3872cdf5e", + "0x00000000000000000000000000000000000d75458e2f89d94c1ac1dfe649814a", + "0x00000000000000000000000000000016ff4f84966fa51331e076f63446da4d0c", + "0x0000000000000000000000000000000000092769019d4832b7ae176e5ddd63dc", + "0x000000000000000000000000000000ff6c77c1f8e8bc21b91370c39d5dbcf267", + "0x00000000000000000000000000000000000b69f016c9d0d5e769cd4d4b50a9a7", + "0x000000000000000000000000000000ff56c5b60a263094e3da134b4cd5207633", + "0x00000000000000000000000000000000001a9a5a67a76964377f9e3368ed07dd", + "0x000000000000000000000000000000912459514f7472471c26f5dce22f47c3a1", + "0x000000000000000000000000000000000026caac0d7b3062f5f7b3b5ace5f84a", + "0x000000000000000000000000000000c7c16996aad339edb325fe99032099821e", + "0x00000000000000000000000000000000001bf8f426b1e0a023dbccf99826a253", + "0x000000000000000000000000000000f6efaa26ebb115f576a5a583769a55da7d", + "0x00000000000000000000000000000000002b34b95141fa3027cfb97bbcc26abb", + "0x00000000000000000000000000000060a1534ad234d821506b143325e21bf4e1", + "0x000000000000000000000000000000000028c865a0ad57b32c205b6abd9e00ef", + "0x000000000000000000000000000000ff4a69fd64a4220806b3207c9bc8a139ce", + "0x000000000000000000000000000000000000128a8fa4bb0088e38a2d72802127", + "0x0000000000000000000000000000004a2c3a0284209acd260744728f02def007", + "0x00000000000000000000000000000000001c5ab36a62d4f9391450ce52a2ab79", + "0x0000000000000000000000000000000d04c904b2c5f624d26669530334cc4b25", + "0x00000000000000000000000000000000000b36939303a8c5e92259b7a4b16ffe", + "0x000000000000000000000000000000c086e27f564430986bc964d09a282fb750", + "0x0000000000000000000000000000000000066bb40e548ad34d12e3f39f5e392b", + "0x000000000000000000000000000000610306556851631dd6304561e8fe91ed13", + "0x000000000000000000000000000000000011bf4025cb983957cfeb5a2cebda60", + "0x00000000000000000000000000000018e61ac2cec1d8c1aa9d7d678b7a947031", + "0x0000000000000000000000000000000000145e7aa0fb8e50873c7e8ae562a427", + "0x000000000000000000000000000000d145aac6b329c0831c1541d5c88c171666", + "0x00000000000000000000000000000000001ed4a2ea5183d97490a265d184ed9e", + "0x00000000000000000000000000000016c6302662e92a3a32b9b8f824b58cc78a", + "0x00000000000000000000000000000000001d7f5e64a099c6aa63052a1196db25", + "0x000000000000000000000000000000fe716dd150329d8164d09fbce114f85659", + "0x0000000000000000000000000000000000001d8ee895257e5b8a525b7d98d473", + "0x00000000000000000000000000000038171d7f06a80e075a97705157118d6b0b", + "0x0000000000000000000000000000000000259b3dff83158e703b961c37e90120", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e37605c032872aa8c40928e87bdef9a537", - "0x00000000000000000000000000000000001324b7f1c1679dbd167d6119136093", - "0x000000000000000000000000000000cadb9de64c6a202e85d281d1657383bb24", - "0x000000000000000000000000000000000004d6ab115a752f6f77299ac948246b", - "0x00000000000000000000000000000014947d5d9dde0b5b83e4f9654e47cda34c", - "0x00000000000000000000000000000000001117dac9f1a9d88480a7cea03ebc36", - "0x00000000000000000000000000000057c91392dd1031997791594682365ac349", - "0x000000000000000000000000000000000029f73c99a2c679dbda50b1331c5f6d", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" + "0x000000000000000000000000000000e7b56c838072e73553255a1aec35111843", + "0x0000000000000000000000000000000000200cd761e18272807bf4af80712ee0", + "0x00000000000000000000000000000029fbe4cb4d11ec0102fdce9083aa6d6b89", + "0x000000000000000000000000000000000002416e028762307cf6c65bfea2854b", + "0x0000000000000000000000000000005f9e8d701589b5d6314c59ae7c912e4ae0", + "0x000000000000000000000000000000000004dd3165471398859c3fe5b6df48a1", + "0x000000000000000000000000000000b9816f9688118168f4ba9ca6a86fd1e32d", + "0x00000000000000000000000000000000002ee3f8ffd20358a18b2846c7c974fb", + "0x000000000000000000000000000000cc2411e675859a0b8304fec0a5490b5e93", + "0x000000000000000000000000000000000019599133b74e15b1b7cd20473a6fac", + "0x000000000000000000000000000000d3a882cf4261b0f6e2b04e894a031fb1db", + "0x00000000000000000000000000000000001ac56d8462aa7cac1d61eb350f1aee" ] - hash = "0x21f6a1210d6fa5f4a0fabb9e0631171832173610a5b53242b917e528d2ba6698" + hash = "0x2256480ded5867e4cd3641101f7f4f2cf6189c829934b0da33ca6cd7ad306a57" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" is_private_only = false -claimed_first_nullifier = "0x18c1d8257c9cd53747f099177836c9812fce65ef3198af150c25a5480033e6c4" +claimed_first_nullifier = "0x22a250820ac78cb55d61bb3770140ed129a9e49ad21e91105d7f28b7c042236e" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x048e6bd7b9c1bee68207fabe01c023a98b343a54ef593e1931cb25ded7fc5bd8" - protocol_contract_tree_root = "0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423" + vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" + protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" [previous_kernel_public_inputs.constants.historical_header] - total_fees = "0x0000000000000000000000000000000000000000000000000031330b0a66bc54" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000003e6e6" + total_fees = "0x00000000000000000000000000000000000000000000000000000015b099d070" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000015991" [previous_kernel_public_inputs.constants.historical_header.last_archive] - root = "0x04b19a2b9704f0fdd79af2ab20cc465cba8067b4ace1c2fcf684d9294a443f37" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000005" + root = "0x23520abe588666a33f4a84275f6fefe5f5207d027617374a803fd2e4a0091ec9" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [previous_kernel_public_inputs.constants.historical_header.content_commitment] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" - blobs_hash = "0x005d3a589a8e94da5a124b547aaea5338761ab52ec8ffb81b5172cd90ac3022f" + blobs_hash = "0x006a0f5e919dc9288760027e31a1e696774efc08c96b3c1dd43f68ee1b9f6359" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.state.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000050" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [previous_kernel_public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x263f05e22af6bb2956b81d6f8de8d384bde3893253c8e04fc73aa3946147eecf" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x1ff29c18e0b396c446900d13fdfa93601c41e32feb210e77930dbe5ef7afa0aa" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x01cd675b23dcd28b8cb36c75b645ea13691ee485576d6c06a5e21fa30a5601ba" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000096" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" [previous_kernel_public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000005" - slot_number = "0x000000000000000000000000000000000000000000000000000000000000000a" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067a0ebc7" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34871" [previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x000000000000000000000000a6d65a1ad1795526cb63f95cb3685b634407b98c" + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" [previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000c9be302ae" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000101170" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" @@ -227,15 +227,15 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000012e9d48405" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.for_rollup.max_block_number._opt] -_is_some = false -_value = "0x0000000000000000000000000000000000000000000000000000000000000000" +_is_some = true +_value = "0x0000000000000000000000000000000000000000000000000000000000000e17" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.read_request] @@ -2739,7 +2739,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers]] [previous_kernel_public_inputs.end.nullifiers.nullifier] -value = "0x18c1d8257c9cd53747f099177836c9812fce65ef3198af150c25a5480033e6c4" +value = "0x22a250820ac78cb55d61bb3770140ed129a9e49ad21e91105d7f28b7c042236e" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4361,13 +4361,3035 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[previous_kernel_public_inputs.end.contract_class_logs_hashes]] -[previous_kernel_public_inputs.end.contract_class_logs_hashes.log_hash] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" +[[previous_kernel_public_inputs.end.contract_class_logs]] +[previous_kernel_public_inputs.end.contract_class_logs.inner] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" +log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.contract_class_logs.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[previous_kernel_public_inputs.end.contract_class_logs_hashes.contract_address] +[previous_kernel_public_inputs.end.contract_class_logs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] @@ -4375,13 +7397,13 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.end.public_call_requests.inner] is_static_call = true - args_hash = "0x2b4e699eaeffd1d96dd2fcfdc862da41486b84a9dfab643ae9fb91a56fc26600" + args_hash = "0x29980f5ff25f8404a2a8f8510d22d1acead54b6bfbc1a0ba4004b4a31436b6de" [previous_kernel_public_inputs.end.public_call_requests.inner.msg_sender] - inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" [previous_kernel_public_inputs.end.public_call_requests.inner.contract_address] - inner = "0x2269225dd372f7e0b33082b098987be85ea7236a03df03ef19dbd92926ff848c" + inner = "0x13ce6e12aee9046b7e1d8c0753ddfe92b2d2c01a1e64c8335cc522c1592be269" [previous_kernel_public_inputs.end.public_call_requests.inner.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000d5441b0d" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-tail/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-tail/Prover.toml index ef1750eee82e..d1a7cc60cb2d 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-tail/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-tail/Prover.toml @@ -1,19 +1,19 @@ [previous_kernel] vk_index = "0x000000000000000000000000000000000000000000000000000000000000003a" vk_path = [ - "0x25b54de8c5524e9944835b5bc78d8a26c50c9b4f15548863726cfc0e9f846982", - "0x285de65336adbd5352ae50e48c01119a3cbf7f862488e6db60d7b8bf7d2d147b", - "0x0016be88c0dd0db32eb7f594c5c1cbcc4a70570ec132c584e6eff59dce487a81", - "0x198f0507817e64fd6f68a323239768bb9f4ef396735363d4a7d6e661b43f6fb4", - "0x02a07f86491a66e42bc8fedea6ea231a77e685b5f358efedc73005c85c5c2c6b", - "0x052ce871283d2279a1d9592abbbc1dfea5ee072ba9d45bb486102d64cb519f49" + "0x2432d3fa9f4cdd00628b623688c5c23d93b5a950554cbf3514afe87d80839a75", + "0x187690512f2728b95ae58458e26ab3efca9abf5bf54061ccf73488cea1126374", + "0x1bb73cae0db882da785e6d2608c5f663efa65c06a0a79445626b8c187eab9c14", + "0x2b4b749d03793d3b7daf8f999ac474709d0637af88317fb784cdf0938cb07cec", + "0x2a797523c8625b372d2937c1ca0931508e4277798adeaed41ebc72baa06c3d1b", + "0x0c8926b35b99cfe91f0395076e5163f546e160ecbc0e7c4dbf94710888cfe75d" ] [previous_kernel.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000100000", "0x0000000000000000000000000000000000000000000000000000000000000020", - "0x00000000000000000000000000000000000000000000000000000000000328b1", + "0x00000000000000000000000000000000000000000000000000000000000353a9", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000000011", @@ -34,184 +34,184 @@ vk_path = [ "0x0000000000000000000000000000000000000000000000000000000000000008", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000093fe8e183d5ebdaad7deae3fa751d1118", - "0x00000000000000000000000000000000002f273e4fbec83595de4bebd49caf18", - "0x0000000000000000000000000000008aba2adc313d6dfebe24256fc57bc7bd87", - "0x0000000000000000000000000000000000284a8ad7a35970cb36da93039143e2", - "0x0000000000000000000000000000000aef7b653329b3027b14e4e1f7d21e9629", - "0x00000000000000000000000000000000000883139847301c0f94ba8e914162eb", - "0x000000000000000000000000000000d2ec6eddcbe139ae0b85239568d9cdba55", - "0x00000000000000000000000000000000001d5504ac9eaed7f1248d4cb9170fc9", - "0x0000000000000000000000000000005e03089f6a2ae3b2438ee7d89b45e97ff9", - "0x000000000000000000000000000000000026115fc76b5b91800622d5b725a6f8", - "0x0000000000000000000000000000008756612c8778b8f205c36317f7a46ee55e", - "0x00000000000000000000000000000000000b7af4a11ff106f3debc8e585ea314", - "0x00000000000000000000000000000060dcb999b07b86c69e4b7e3d9dbde2c6d7", - "0x00000000000000000000000000000000000d96b549fc24083a01377e6b4229c9", - "0x000000000000000000000000000000ae97bc52c964109e5392f327e54d588814", - "0x00000000000000000000000000000000002a457ebaa71598858239233a896745", - "0x0000000000000000000000000000009e4d9c0b5e9e72763ea4720c9d7416ab2b", - "0x000000000000000000000000000000000019eb02f25e30e0f3a69d54bf26054d", - "0x000000000000000000000000000000a590bda8cf4f06e26610c9fb2e82341e9a", - "0x00000000000000000000000000000000002c15a8e8f7fc3d2e995732825d8ba9", - "0x000000000000000000000000000000e0d48a264c68852e1105b2e76d4a41f4d5", - "0x0000000000000000000000000000000000222f7b8dfd0534c54818d307d2ba70", - "0x000000000000000000000000000000b53d7d4af03b4f63e21dbd5a58af40fa8c", - "0x00000000000000000000000000000000000c95aab4d933dd519d6c7f04038d37", - "0x000000000000000000000000000000f70e9e557ee59748e8617834bf413c6c34", - "0x000000000000000000000000000000000012423f785d94511d6bc86ac4239936", - "0x000000000000000000000000000000eba093432debf1618dd778e724f2c30092", - "0x00000000000000000000000000000000002735bd1c110298f886d2ceda234699", - "0x00000000000000000000000000000090d53c6a3b26339cda6b73df9208314159", - "0x0000000000000000000000000000000000298c3311fc9170f92de940b042aab9", - "0x000000000000000000000000000000bf37537eb196b05c1d98fa51016a9bacbb", - "0x000000000000000000000000000000000007b05f408a612847259016b9204ae4", - "0x000000000000000000000000000000a40a18a9df69c69b93417d23bfdf1e7e3a", - "0x000000000000000000000000000000000008e928c676811376669748dd0caf6d", - "0x0000000000000000000000000000004edb8514724a6789a85e99c96fa6aeb62f", - "0x00000000000000000000000000000000002e35fffa9c4f8d4d5fa39efd4fd2c5", - "0x00000000000000000000000000000028f66b5fb397e2225a71fd6d6ffcefcec0", - "0x00000000000000000000000000000000001e46ca453cd829e80641cc91677a83", - "0x000000000000000000000000000000938916dc3f184bf869bc8377112da96ec2", - "0x000000000000000000000000000000000015af6baafa3a78ec8d3577569f4684", - "0x000000000000000000000000000000313818546dffe2432869afa342a60f24b0", - "0x0000000000000000000000000000000000099b6d7dda9dea25d6881cc787922b", - "0x000000000000000000000000000000a922c293e6b92190b3ed73e09a3eec0598", - "0x0000000000000000000000000000000000200226f55126e2a26db027e8465f60", - "0x00000000000000000000000000000098852a46ef0f8d69c667cff91a34691849", - "0x00000000000000000000000000000000000db83b0b506917a7eb815ccfef86b7", - "0x00000000000000000000000000000079248ca0ea221e4cb111b288429cb6a98c", - "0x000000000000000000000000000000000005ee7ae6d29aefaa3c7f2027c2a163", - "0x0000000000000000000000000000004e3b86ef5260e0057ae7adf5cffdf099e9", - "0x00000000000000000000000000000000000f130e83127c5f4c56a662a73a7af9", - "0x000000000000000000000000000000464a404f31609f961bdd41be11aab6bdc5", - "0x0000000000000000000000000000000000022496b3c9bdb121588fbaabec3eda", - "0x00000000000000000000000000000067440797a221c483ba274c69f2c3dceaaf", - "0x0000000000000000000000000000000000152ca7f7336e4bb12e0d5128d41376", - "0x0000000000000000000000000000009c07398411638cf80db2ceff3f0aa1cc75", - "0x000000000000000000000000000000000016d8a71b5dea130cc11fa998fef3c2", - "0x000000000000000000000000000000968447f5450a13cefa00788bd59126a3b8", - "0x00000000000000000000000000000000002a64ecdd9748706f94c8dada141f4f", - "0x000000000000000000000000000000bde81eb7f3cce82941372201e11709633d", - "0x0000000000000000000000000000000000241b0ec445136f4fadd865a21137c5", - "0x000000000000000000000000000000ce0da01178b47c56d35efb764675e1537d", - "0x00000000000000000000000000000000000283a5b6f81b36da254dd46c435c40", - "0x00000000000000000000000000000020cfdc51ef678c32b5237607b53bc06353", - "0x00000000000000000000000000000000001bdadc1691fb5c96402180f5193890", - "0x000000000000000000000000000000f41ab63d01059b4790fdea0440f568b45b", - "0x00000000000000000000000000000000002caad696ac41bef7b1b8a7d2250bf0", - "0x000000000000000000000000000000b3996fb09ce9574f9632b154eb6e4743c5", - "0x0000000000000000000000000000000000106226aad9123ae94149cd678f21fc", - "0x000000000000000000000000000000907a6204191789db7a72e0ce14d7fcd489", - "0x000000000000000000000000000000000020559afe5eacbf0805b86fe25f0f49", - "0x0000000000000000000000000000006eb41296b8b3491a78f65465c017e3e94d", - "0x0000000000000000000000000000000000300302eca957220326be8a37a22c8c", - "0x000000000000000000000000000000853aa18d86b20377594e5ac1affd04d104", - "0x00000000000000000000000000000000002ded493574ec805c93ef8d23280d0c", - "0x000000000000000000000000000000fdb4b225cf021e478b7deebd7f67658ce0", - "0x00000000000000000000000000000000001a1110d7aed19fb8cc151e86046215", - "0x000000000000000000000000000000fbcf20e3bca8fbee1adb83917f18d5b8fe", - "0x00000000000000000000000000000000001fce29b139c69d8fbdf1daa57b5c10", - "0x00000000000000000000000000000051f5a82a02e8e735362a90147ab4224bc3", - "0x00000000000000000000000000000000002b21d3e1558250d2cc416d905447a0", - "0x000000000000000000000000000000e396b8b4fee678025e67f64f6f8378efc3", - "0x000000000000000000000000000000000005bd855282395fd47ece51ad8e8882", - "0x0000000000000000000000000000009d8bbc17eba9ea838161e716c1495ec604", - "0x0000000000000000000000000000000000058911c7670cbddc529c81cf244b2d", - "0x000000000000000000000000000000ab2141062e7fbbf605ef4daca8c2791768", - "0x0000000000000000000000000000000000092600b8f19b77a3d27f87e821da28", - "0x00000000000000000000000000000006bb64520d6a5d3c8ce48e05164bd73dda", - "0x0000000000000000000000000000000000023fff471462ecf9a25789ae1b6a4e", - "0x000000000000000000000000000000f6f4596202301b6ae4eb0ebbeadd203340", - "0x00000000000000000000000000000000000adc89c48d75b571636f5bbeb4a806", - "0x00000000000000000000000000000000034e3e27454ef992b4bf84b97baa7471", - "0x0000000000000000000000000000000000066f28135748f119631c3fe07fa9d7", - "0x0000000000000000000000000000003b64a66f2ac4979b65e56568c5a31b14ed", - "0x00000000000000000000000000000000002e25783551df50c004ec7cd1f4dd8b", - "0x000000000000000000000000000000e8258f84477c1b62565a559ba7bb38832e", - "0x000000000000000000000000000000000018f76cf0ceeccb4798de741ae89b64", - "0x0000000000000000000000000000001583b176f599e192d7119354034419e8f9", - "0x000000000000000000000000000000000004706a0e23ac32a3566907fb872362", - "0x000000000000000000000000000000d1b9992279342fce9a883849693fcda22a", - "0x000000000000000000000000000000000029046b299293cb09c593372eb6b3e6", - "0x000000000000000000000000000000469680c270e551515344592f59188fa765", - "0x00000000000000000000000000000000002d38d6d4ba1e4763a74ecdb11ca1f3", - "0x000000000000000000000000000000fce917c0d5dca019477c52f6075332b612", - "0x000000000000000000000000000000000012db39e892826b32610ee08251e005", + "0x00000000000000000000000000000026d66364620a10328721e8590ebaeb8211", + "0x00000000000000000000000000000000001f33cb2d388f8b1cf7f1c124af3246", + "0x000000000000000000000000000000e8c381a94a850d71b8829edc5e073e3391", + "0x000000000000000000000000000000000027c983a2cda053bfe59094f8b1129d", + "0x0000000000000000000000000000004a6d87898c2f0bdc702464287a5feeb8d1", + "0x000000000000000000000000000000000021394672018b3b9f42b3633a846ecb", + "0x000000000000000000000000000000dd90b0bfa5e718afbd190c34f913d974f2", + "0x00000000000000000000000000000000001568265d10632c4470eb86575d58e3", + "0x000000000000000000000000000000087f99c49882ab9aa290e23a4b8ee46445", + "0x00000000000000000000000000000000002355a7a88138c7a81d3e5fc23df036", + "0x000000000000000000000000000000b9ea5a3e2f8b7724640877154c92cbe7bf", + "0x000000000000000000000000000000000011b56e44469994a0a24d66e26836fd", + "0x000000000000000000000000000000a7428d7e32ef047ea36799d01d8f90c740", + "0x00000000000000000000000000000000000a18957ede2b1da276ca67673b011a", + "0x000000000000000000000000000000cccc09302550df01f890a81d60cea3fce6", + "0x000000000000000000000000000000000010d0c4c5aa13bf9f9cce00ad32be76", + "0x00000000000000000000000000000006e15d47bfbd4da7d3ce45f15ff0d1bf02", + "0x00000000000000000000000000000000002a0853d16a0d76218933a2985ee7a6", + "0x00000000000000000000000000000099a5f6fca677a39721eda6ecb8351e031b", + "0x000000000000000000000000000000000009afcfa99e8da348909767357ae08d", + "0x0000000000000000000000000000008a110c9320311e8f940caab17d48fcfb0b", + "0x00000000000000000000000000000000000fe673223b01a74896c1522dd24e03", + "0x0000000000000000000000000000005ca6ba25f342fd8f78e5d64b430257adf7", + "0x00000000000000000000000000000000002972b8445b2765ef1280910309d832", + "0x0000000000000000000000000000000761f30eed3edd9f2d27fee471e1075c78", + "0x00000000000000000000000000000000001eafacc08451a76c1b3d3305ff4b08", + "0x0000000000000000000000000000004c0004190f6ca64858ca19b685924bcddb", + "0x000000000000000000000000000000000022788f3921a4bb7f82b9f5938f1ae8", + "0x0000000000000000000000000000009acb5cb536b55ea20cc347d017099b55d6", + "0x00000000000000000000000000000000002b616e6b6149b096388f3375e9d96d", + "0x000000000000000000000000000000f81c25a96838a586c90e9d7af46d9fd10b", + "0x00000000000000000000000000000000002f650eadf407d939ac8ffcab5add37", + "0x000000000000000000000000000000d82408e17f639ba465acdfbd14b450755e", + "0x000000000000000000000000000000000016125edcd9dccda44f3d24fb8cc150", + "0x000000000000000000000000000000bfaf1a50699f6e507ec1f05387c878490d", + "0x00000000000000000000000000000000001d0a0dfb1f18502e5fa8b6e14111ab", + "0x000000000000000000000000000000b23c624f16c3f5c8764d3c96661f21ddd8", + "0x000000000000000000000000000000000008abc8da33a3cee0e062d1dbc84994", + "0x00000000000000000000000000000018e40b62109961c9a695885536f5043d81", + "0x00000000000000000000000000000000000299463d7946278f6ac0e750972285", + "0x0000000000000000000000000000002154bd3a47ed8024733bc17c8df31f6dfa", + "0x0000000000000000000000000000000000055733251bf9597c156fad7b79b1a1", + "0x000000000000000000000000000000a70d48d22fc0895d1fc3294ed24a91347b", + "0x0000000000000000000000000000000000127d7a342f8aecf1081fb8e224d552", + "0x0000000000000000000000000000006fdbd113d2b32c70b5049298f578444a98", + "0x000000000000000000000000000000000021f25c9625e00428a0f51b02fb3190", + "0x000000000000000000000000000000b6f381e646514eb2f92a5ef74113dc1cf5", + "0x0000000000000000000000000000000000275b0e010452e16542b61751ef70d1", + "0x0000000000000000000000000000008a941d6861c5434e44a585935e91baf6b2", + "0x00000000000000000000000000000000000b23bc7cb9556697d42a4b8288d096", + "0x000000000000000000000000000000ed813d6940c29fbb1f74d6201d09f59b1d", + "0x00000000000000000000000000000000001ed547aa1fc1a1cb144e5870bafcd7", + "0x00000000000000000000000000000073a058a519800050346e098cd45652db14", + "0x000000000000000000000000000000000007fbca44c464bdb23c3193d5299d53", + "0x000000000000000000000000000000d9810e4bcb69024cee6508a3e28e877481", + "0x00000000000000000000000000000000002960d93a861b9ac2234c79ee8c3965", + "0x0000000000000000000000000000004dc9b27e91fe937d388a2bcde90acc1c84", + "0x00000000000000000000000000000000002543980a6d14b6b41414e800984edf", + "0x0000000000000000000000000000009213c0a95c319c473ba0cb7eb443c2dbe5", + "0x0000000000000000000000000000000000255d800fd0d88c5e29f99a32c4189e", + "0x0000000000000000000000000000007518f8ac5586ae2a79135d7b67d7b4ef72", + "0x0000000000000000000000000000000000214e55761ca16a0dab0b5e208ff557", + "0x000000000000000000000000000000d9ac27e0873e60c8c0fd37e02130fbafb9", + "0x000000000000000000000000000000000018fc231a9753bba7a42de00e3aefd7", + "0x0000000000000000000000000000009002fd1e74774468c0d36b0beb42ae4f8c", + "0x00000000000000000000000000000000001d9a6878ab8f7c1060307c94b485ee", + "0x000000000000000000000000000000dfe62528888818d86e40a6bc317dda9e01", + "0x0000000000000000000000000000000000150dcef5d49ffcb2f82e4ba3471256", + "0x000000000000000000000000000000b24e5151c2ec3c172a3ffeb0e3872cdf5e", + "0x00000000000000000000000000000000000d75458e2f89d94c1ac1dfe649814a", + "0x00000000000000000000000000000016ff4f84966fa51331e076f63446da4d0c", + "0x0000000000000000000000000000000000092769019d4832b7ae176e5ddd63dc", + "0x000000000000000000000000000000ff6c77c1f8e8bc21b91370c39d5dbcf267", + "0x00000000000000000000000000000000000b69f016c9d0d5e769cd4d4b50a9a7", + "0x000000000000000000000000000000ff56c5b60a263094e3da134b4cd5207633", + "0x00000000000000000000000000000000001a9a5a67a76964377f9e3368ed07dd", + "0x000000000000000000000000000000912459514f7472471c26f5dce22f47c3a1", + "0x000000000000000000000000000000000026caac0d7b3062f5f7b3b5ace5f84a", + "0x000000000000000000000000000000c7c16996aad339edb325fe99032099821e", + "0x00000000000000000000000000000000001bf8f426b1e0a023dbccf99826a253", + "0x000000000000000000000000000000f6efaa26ebb115f576a5a583769a55da7d", + "0x00000000000000000000000000000000002b34b95141fa3027cfb97bbcc26abb", + "0x00000000000000000000000000000060a1534ad234d821506b143325e21bf4e1", + "0x000000000000000000000000000000000028c865a0ad57b32c205b6abd9e00ef", + "0x000000000000000000000000000000ff4a69fd64a4220806b3207c9bc8a139ce", + "0x000000000000000000000000000000000000128a8fa4bb0088e38a2d72802127", + "0x0000000000000000000000000000004a2c3a0284209acd260744728f02def007", + "0x00000000000000000000000000000000001c5ab36a62d4f9391450ce52a2ab79", + "0x0000000000000000000000000000000d04c904b2c5f624d26669530334cc4b25", + "0x00000000000000000000000000000000000b36939303a8c5e92259b7a4b16ffe", + "0x000000000000000000000000000000c086e27f564430986bc964d09a282fb750", + "0x0000000000000000000000000000000000066bb40e548ad34d12e3f39f5e392b", + "0x000000000000000000000000000000610306556851631dd6304561e8fe91ed13", + "0x000000000000000000000000000000000011bf4025cb983957cfeb5a2cebda60", + "0x00000000000000000000000000000018e61ac2cec1d8c1aa9d7d678b7a947031", + "0x0000000000000000000000000000000000145e7aa0fb8e50873c7e8ae562a427", + "0x000000000000000000000000000000d145aac6b329c0831c1541d5c88c171666", + "0x00000000000000000000000000000000001ed4a2ea5183d97490a265d184ed9e", + "0x00000000000000000000000000000016c6302662e92a3a32b9b8f824b58cc78a", + "0x00000000000000000000000000000000001d7f5e64a099c6aa63052a1196db25", + "0x000000000000000000000000000000fe716dd150329d8164d09fbce114f85659", + "0x0000000000000000000000000000000000001d8ee895257e5b8a525b7d98d473", + "0x00000000000000000000000000000038171d7f06a80e075a97705157118d6b0b", + "0x0000000000000000000000000000000000259b3dff83158e703b961c37e90120", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e37605c032872aa8c40928e87bdef9a537", - "0x00000000000000000000000000000000001324b7f1c1679dbd167d6119136093", - "0x000000000000000000000000000000cadb9de64c6a202e85d281d1657383bb24", - "0x000000000000000000000000000000000004d6ab115a752f6f77299ac948246b", - "0x00000000000000000000000000000014947d5d9dde0b5b83e4f9654e47cda34c", - "0x00000000000000000000000000000000001117dac9f1a9d88480a7cea03ebc36", - "0x00000000000000000000000000000057c91392dd1031997791594682365ac349", - "0x000000000000000000000000000000000029f73c99a2c679dbda50b1331c5f6d", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" + "0x000000000000000000000000000000e7b56c838072e73553255a1aec35111843", + "0x0000000000000000000000000000000000200cd761e18272807bf4af80712ee0", + "0x00000000000000000000000000000029fbe4cb4d11ec0102fdce9083aa6d6b89", + "0x000000000000000000000000000000000002416e028762307cf6c65bfea2854b", + "0x0000000000000000000000000000005f9e8d701589b5d6314c59ae7c912e4ae0", + "0x000000000000000000000000000000000004dd3165471398859c3fe5b6df48a1", + "0x000000000000000000000000000000b9816f9688118168f4ba9ca6a86fd1e32d", + "0x00000000000000000000000000000000002ee3f8ffd20358a18b2846c7c974fb", + "0x000000000000000000000000000000cc2411e675859a0b8304fec0a5490b5e93", + "0x000000000000000000000000000000000019599133b74e15b1b7cd20473a6fac", + "0x000000000000000000000000000000d3a882cf4261b0f6e2b04e894a031fb1db", + "0x00000000000000000000000000000000001ac56d8462aa7cac1d61eb350f1aee" ] - hash = "0x21f6a1210d6fa5f4a0fabb9e0631171832173610a5b53242b917e528d2ba6698" + hash = "0x2256480ded5867e4cd3641101f7f4f2cf6189c829934b0da33ca6cd7ad306a57" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" is_private_only = true -claimed_first_nullifier = "0x05dabc410b39490a7c4b51782d96d87af26a14149a789edf5f35e0088eeb495b" +claimed_first_nullifier = "0x094412ee6524f6ca0441ba0a5083a1fc71ccbae790ceff64d9e5e499228e1839" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x048e6bd7b9c1bee68207fabe01c023a98b343a54ef593e1931cb25ded7fc5bd8" - protocol_contract_tree_root = "0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423" + vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" + protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" [previous_kernel_public_inputs.constants.historical_header] - total_fees = "0x0000000000000000000000000000000000000000000000000031330b0a66bc54" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000003e6e6" + total_fees = "0x00000000000000000000000000000000000000000000000000000015b099d070" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000015991" [previous_kernel_public_inputs.constants.historical_header.last_archive] - root = "0x04b19a2b9704f0fdd79af2ab20cc465cba8067b4ace1c2fcf684d9294a443f37" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000005" + root = "0x23520abe588666a33f4a84275f6fefe5f5207d027617374a803fd2e4a0091ec9" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [previous_kernel_public_inputs.constants.historical_header.content_commitment] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" - blobs_hash = "0x005d3a589a8e94da5a124b547aaea5338761ab52ec8ffb81b5172cd90ac3022f" + blobs_hash = "0x006a0f5e919dc9288760027e31a1e696774efc08c96b3c1dd43f68ee1b9f6359" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.state.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000050" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [previous_kernel_public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x263f05e22af6bb2956b81d6f8de8d384bde3893253c8e04fc73aa3946147eecf" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x1ff29c18e0b396c446900d13fdfa93601c41e32feb210e77930dbe5ef7afa0aa" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x01cd675b23dcd28b8cb36c75b645ea13691ee485576d6c06a5e21fa30a5601ba" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000096" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" [previous_kernel_public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000005" - slot_number = "0x000000000000000000000000000000000000000000000000000000000000000a" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067a0ebc7" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34871" [previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x000000000000000000000000a6d65a1ad1795526cb63f95cb3685b634407b98c" + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" [previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000c9be302ae" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000101170" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" @@ -227,15 +227,15 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000012e9d48405" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.for_rollup.max_block_number._opt] -_is_some = false -_value = "0x0000000000000000000000000000000000000000000000000000000000000000" +_is_some = true +_value = "0x0000000000000000000000000000000000000000000000000000000000000e17" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.read_request] @@ -2227,7 +2227,7 @@ _value = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.note_hashes]] [previous_kernel_public_inputs.end.note_hashes.note_hash] -value = "0x14a8869b4c064cd11dad6a80a437685de5d864aafeba4d93fbcea2e1041b45cd" +value = "0x23daded1a5cbadacbde4b9e483cae5f3944989e027f5406924135a67d643087c" counter = "0x0000000000000000000000000000000000000000000000000000000000000007" [previous_kernel_public_inputs.end.note_hashes.contract_address] @@ -2235,7 +2235,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.note_hashes]] [previous_kernel_public_inputs.end.note_hashes.note_hash] -value = "0x2acbc369c9c5848ca056ab178cefe87403ad77461af07f424fb9a76919682fa7" +value = "0x10466ab63c588133cf852c379feaa873c02d4e56a25b4570ecd8d605e7129dc8" counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [previous_kernel_public_inputs.end.note_hashes.contract_address] @@ -2739,7 +2739,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers]] [previous_kernel_public_inputs.end.nullifiers.nullifier] -value = "0x05dabc410b39490a7c4b51782d96d87af26a14149a789edf5f35e0088eeb495b" +value = "0x094412ee6524f6ca0441ba0a5083a1fc71ccbae790ceff64d9e5e499228e1839" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2748,7 +2748,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers]] [previous_kernel_public_inputs.end.nullifiers.nullifier] -value = "0x304121529a17d54cc0598d2fbf58e89a6fbd887120f93ae04ee8fcc1cdb89979" +value = "0x014947c7333419674ee8855eb88bef00bdbb499f245edadc732d455ed84d6890" counter = "0x0000000000000000000000000000000000000000000000000000000000000006" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3408,24 +3408,24 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.end.private_logs.inner.log] fields = [ - "0x1e548641f389b2d31200c26dedd8cf9a1ed050276e3c9181b977b49538f616aa", - "0x07b446c3085c62914d5ea3b1f99975b461ccf9fbe87cc2f1f5284167e22cac3b", - "0x000135c8409f04554455943f2b10aea284d4596edbf317268842530eb668fcaa", - "0x000cc01a0295a905c13335a3ffcf995347a6494c7d274c6dc5b673f9eff4b644", - "0x0040126f1c7f1da7a53911ca09f1a409901832940ad0676174d7c8341d359f44", - "0x0082de2ae8d18621f04c90b94c38b9e5a71b10c9c916df2d08b0edac206ec357", - "0x0023ff9055501934010bf3b011af13a337db6f088b3fc6b23109aeb7862e188c", - "0x00b67b53a36c098d68810676090e93a6d3b35e02bd18e0f2c9d7a20426c9c93f", - "0x00cb34d2cbb63952ee84edfb013d5934d52c4d21177c0b6f6934bc1524b563ba", - "0x00978d7734dfe53bbb065fc9139a1ff82ae9389dea9787fc0c3fbba9ef09d0e2", - "0x1478ae610ae29e0f2d6c7b414f9207e2c35ec3da149c73a236ccceb875a4d3dd", - "0x02e81f76884248749717363817a7a2374ac588cff16b1c5967880e37aee18fef", - "0x056dab5865c8637c055a2526aad8bdbb00fef0a188bc522ac78d3ba66d2c6d8d", - "0x212bb4d68ce81e4e518d29bdf03571d1b954e9112fe76d732a3ea37227383f84", - "0x1f533ebcdfc1d7aa3e8744e11f3c2a3c733c4eb9d8468aa6ae5e22241ae76e8e", - "0x2d8d2a5d068604334f9726a1d15b0e104d10634fc6101f5e526494909b45e451", - "0x0dfc34b4b98a1f93b4618007771adc93939930bab52f2b5b4a8b6566fb93c713", - "0x023b60fa9f4019ec0a8409350709d443a99f4a83867ba6f25faff4a7cb3c7b58" + "0x0183182b0c45ade494835b268ea1a3fdd745b19e7b9df4064081fd2defa6d964", + "0x13e5104b6bf2ae50dea72fb1862c37919e40bb134ee8ff57aba0323f35427065", + "0x00015b958240765cba37f8700ff22436a4499eb2fd01612b2fb0232c35223c3d", + "0x00a5f4f1771b04f68c37bb785ff6d83b4289093511962d3dc29bbe465b050b89", + "0x00529268379bbfbc9f16ebfc1ef9e6dd29e6e4d0fc0f7c0ddf0728747201a8b7", + "0x00ddc8717d0b13ee36f108320701d4bd909da06455caf4349a10903b16e6df78", + "0x00fdf350b7c3fe35bcffcd473431f5490fe05d8ecd58a244ec657b48a0c7562d", + "0x0044e08bc8cd76232aab30d61d0647013dc1ff3a5843f60ef84e20db049e47a2", + "0x0002b93b31df9c2ba87e8566eeb6eccd166a30424df9cd1c3cba8b5faa7d0687", + "0x007336dc56b950e78c1dfbeb015a0c7ed3d738bdec30afd0d8d36679dc2b6bbe", + "0x19cd45893ecf19a6d91b989140d6f0af8a554ef360265c92acc24a3b63240ace", + "0x2e1660fd57a3ed82e37b6c8e1970547de41fff6d4248a0b5e9ff958f07e49770", + "0x0a67736706cb1f789b7b16fb441a08f00e190a596428b91357d25d15ea1d49b3", + "0x00650dfaf0d7395153dae4d350e82d4abebb4c325970b8992a982a03b6b648be", + "0x115b15f80a45a2cff18ba888388ccc7917bd4937b6bb1171a0f4bdb1858534f5", + "0x2cbfecc710b4d7a5697ebf9c1d4ec1a7dcec6e04821440d183daccdaa10e56d5", + "0x2e58cdb112f4b818ea71a29a4ef91e06afbb0a5ab643b037b2134daaac8ae381", + "0x17b24ef838e3aadd36185a581b789eabf8d46a8fa694fb86c3972ccb27f1bbb3" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3438,24 +3438,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000a" [previous_kernel_public_inputs.end.private_logs.inner.log] fields = [ - "0x0a5b826a626f3e2541276948c6d1c485ef1fa01d22f78f84a425afdfa1d5de92", - "0x1dd8324ccce2593cb63fced552660417f67f582d56dbf8b1de85920ac1058dd5", - "0x00001f8f82b892c2954d6163d670cfeea6bdbb25727933f79650b88a8409b5ac", - "0x0004e0e9089f9f68cbb1e0b1f6a9e19ec507243da67f1a42842bbf522c9eb86f", - "0x00179066baa01130fd5df1be62e5f85120b140d0ece84f502ac6153816dc8bc2", - "0x00458314a72a963f4a27596b43896e0faafd3b6b587e381b8154f74c366a2265", - "0x00a00e22c11aaca64183051cec857f0d1d30104a6d18ab3ef4f8c3e45ef4aceb", - "0x006f76cfaaf05f8b16d4a99cd28cc271270d5d93ef3d40586667352e659ad000", - "0x001f12acb734244273f8cbab6eb32dc34ebbcd78f8e37e0fcdab88dc563c7542", - "0x00ca247da92080acccf6fcf5aed63132899e345a2f568c5cde50b6ed9ecaa10b", - "0x141613450a3b9d2c69a9a60dbccf59a63642b1e4015852fc2722acb4bace7445", - "0x00d8ef352be4927c13896dc456df37a746875e38f960d5e2b3b6a6e12cf6c01f", - "0x2c95ce135b36812c0c4f162945173f5b80b1c06e075e1c5a79ad6f07e59c91fd", - "0x1c27fd863042bf1e5f484d2834f193ea269278c1856bdeb03d63fe2499ce093a", - "0x14fc3e3b242b4b611ae6c0cd1637a132b0a89de58df7792893fda4a5684744c0", - "0x232e13c42a535ca4042a54c39786bed82bd5631330d2d81143e343a2baf2c775", - "0x1328b6ba78c464f6b9639c6a9e53e7fb80fd054fad2ed328d495d34460eff4f5", - "0x0b8225c45515a05bfba1845bc79e567a2aee28767280aebd2bc076b9d9a6fcd2" + "0x039c49a6203c17dd40b19dfdda085b3b80c84785016c4347f2240e1d696c3b58", + "0x15385784aa21403c75dcf3bd8ecb2484fcaa7fe1eaab5562eea42582d654330a", + "0x0001b2c7e77722d36959b5bb79f3fdeb028e369f7ced8137e8c58b61b8422a96", + "0x007b305b4c68dc0871e040c245eabdfffd8d21f16ffdf21ff2c1ed0306e6bd56", + "0x00eb4f2996a1c1c85115c67501f8f7afa263dd42716b2c4523393b3f21424da8", + "0x009051c7b0da72dc269754fe37de07e1a629391d96972fbf4cca9d4ac7ba1dd1", + "0x00a18b1d434c483466d0d66c5777c21cdae151d7fe7d7419de237406c492b6fc", + "0x00a62d9b737397e325ac70e560b418a8c2061bf9dc1c00b2d7991d3c3f4b2268", + "0x006a868f2eaca7e6a32cde0772bf48401a0d27c9b00a1828528171f7d3edd81a", + "0x0007a93cb88380d83ca6836bb6239863807a3c7a068407888a877e18f34797a7", + "0x13f7b9234578895559a451b1d5de8f7b20654649133ccf555b114efcb52b2a88", + "0x14fd4179e68ccf3d3c194a5aeb3a8616408d114a250d5413444e609a92b284f0", + "0x0e74c4b4b9ee83c9f66b2dc974d2092f6607a12c73fc185c37c65d28cebb4b56", + "0x1852be9b2a6d7e4e8358543ef27fafc8d35764ac9c21698fa7aee14828191f54", + "0x0f67df1dab875493b23baaec9c4d35e718001ad5ea1f475f3f5395af12d60fbd", + "0x0aa6feef8bad221b1186595e484cb5c491a743aab5588f51f72f1f9d129aa119", + "0x2e136b12d05663ce07d2aa543107284bef8c7166fda0eafc0c1a9b26d51a2adc", + "0x0d55dbbf1c7d5f6644ded6c0f69fafd95a5090ec7bdbe2b295b1bacbbf8e3787" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -3468,24 +3468,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000b" [previous_kernel_public_inputs.end.private_logs.inner.log] fields = [ - "0x0474c9525c558b0f19f9ebd5882aea28c2fc85f6b1015451105b17a77e1c1e28", - "0x092bee72d8cf3915ca92f150e3829ecc757e990c37e79db74dd795995abf745c", - "0x00003f2a4cf5b6234fcf2a0543008165e8d0e17a00de6f084adbb83165d75bb6", - "0x008b7f504f819efed6019b0b6a9f4caef86a3b8e57ff2d27b42bbca95abf0054", - "0x00217aa5f20bb158862b03aba920b324ee89bce52a68941cbbc3965bb428bbfa", - "0x00031c0370f3968279e47a9b89770526d7f8261abbbcd6ed8c9a9a7423214654", - "0x007d5cefd75341a3eaec31fd2f14852cb703d5a7158cec353e085dc65ff50fd1", - "0x00ac0575d48994bb6e262aea070d3db3a89c5e898d6c7912b93172046a57e751", - "0x007303b91fce265de87ec044602726f538687d39cb4241f24b3a40f6d393a583", - "0x0047b0ec041708ccee92314bdef805562d027d797bb94063d09ad4721a852c14", - "0x02d36c1f5d83c87f79b60d1bc0c37f8f85c6c51e1ffbd2a6806859a7c5b5cb17", - "0x04ad5c3ba677c8e9e70bc162ca0028175f31c1e5468c6df5a80eb1de53898323", - "0x2c2967c216ffb7cf64d7217ec6299819ba8b629bcdeedcfc3089d6b8f6d13119", - "0x20d92af9d5903d404e08fa3b0e7d121c08184be8eea1b4c536bfb396d81d6872", - "0x2d0525874b31a7974cde40f08664e78edc0ff9943d816ebe2541a8781b60a7b4", - "0x071fb7717f10fe86a95c551709738494b1aa4afe6424655a18d6df8cb9674614", - "0x252cda6a9018237478a10e1daca79a1248bc6aeb8738ac33846244fe7b1129e5", - "0x07fe97431264dc3d20fc201c971d7b3b6ce87e830ce3155475a199a5e02eb193" + "0x27ceb611c50ae48cface1d16599c0debd44c4cbbd7cc8c1b6d87bd662c7e91c9", + "0x305a03f6e0cf41cb167794060e7aa0c2f0ce4d4282c3fd4f3fb9e350f5c2a9aa", + "0x00013c92d8a146fc8518cd200a14d8b2206d1c783264ba2315ee4bd99e9b8418", + "0x00ce7dd1fea31ca491d2ba1ec54218561d61a644c04479d48f12f69ff1ffe891", + "0x000da689bbdca2561710911c1f87786ffcd7a2d2d486fce256f477968416b916", + "0x00a1de6b69ae64af68ea40d7aff5a0d347de2a3f05c537db2b1cecb779e4dcc1", + "0x00c8485ccd37f855e3d092c983a84f96ab2c91203b6c56bdb2d3ccddce1d389b", + "0x0005e7ff82f7199645f317ccca3fa721814f6deccc2ef22008836aa5120f8934", + "0x0000b954441227c384d0f3981feb9ffee24081645f89155c74cba14996f53c82", + "0x00a136420fef571f8d950a8ad6f5114a2bc1baace1a52ba3b0c775c758753393", + "0x218a90680035c00dee1878247d4e8029f34eb20847a6392d81be814f5847f63e", + "0x2d532f9db177337ed69327d07c883fd7c6a9f13f2279f4e7c6a6c34636d8878f", + "0x1606ce8401ae9acdedb55322b9145fbbc76ed9fd9dcdd50a72f12c1b046d195f", + "0x255fb9a107e13e6dce669d8add3939dc962056a6eca1685e39aa48507f7d37e0", + "0x1c5fd6c37d0bcbabdcab847d1700b536ff4f93fe72e9d9287de5bf269a13634b", + "0x09bd74f4be0966b5e66bc2b9ee0aa56d033c3c4ddd9780bd60476c098c970cec", + "0x03ec3e030476c16ce96af0712d13a12fd7117b1bad69522881e9828521544dd7", + "0x11f5f63d87d4e5c3cc12724344db733fd87f9474456ee3738d705eebb5b9d98a" ] [previous_kernel_public_inputs.end.private_logs.contract_address] @@ -4361,13 +4361,3035 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[[previous_kernel_public_inputs.end.contract_class_logs_hashes]] -[previous_kernel_public_inputs.end.contract_class_logs_hashes.log_hash] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" +[[previous_kernel_public_inputs.end.contract_class_logs]] +[previous_kernel_public_inputs.end.contract_class_logs.inner] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" +log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.contract_class_logs.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] -[previous_kernel_public_inputs.end.contract_class_logs_hashes.contract_address] +[previous_kernel_public_inputs.end.contract_class_logs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests]] @@ -5040,4 +8062,4 @@ end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000 inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-base-private/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-base-private/Prover.toml index b2a887ee5e57..63f02f3f4135 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-base-private/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-base-private/Prover.toml @@ -1,57 +1,57 @@ [inputs.tube_data.public_inputs.rollup_validation_requests.max_block_number._opt] -_is_some = false -_value = "0x0000000000000000000000000000000000000000000000000000000000000000" +_is_some = true +_value = "0x0000000000000000000000000000000000000000000000000000000000000e17" [inputs.tube_data.public_inputs.constants] -vk_tree_root = "0x048e6bd7b9c1bee68207fabe01c023a98b343a54ef593e1931cb25ded7fc5bd8" -protocol_contract_tree_root = "0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423" +vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" +protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" [inputs.tube_data.public_inputs.constants.historical_header] - total_fees = "0x0000000000000000000000000000000000000000000000000031330b0a66bc54" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000003e6e6" + total_fees = "0x00000000000000000000000000000000000000000000000000000015b099d070" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000015991" [inputs.tube_data.public_inputs.constants.historical_header.last_archive] - root = "0x04b19a2b9704f0fdd79af2ab20cc465cba8067b4ace1c2fcf684d9294a443f37" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000005" + root = "0x23520abe588666a33f4a84275f6fefe5f5207d027617374a803fd2e4a0091ec9" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [inputs.tube_data.public_inputs.constants.historical_header.content_commitment] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" - blobs_hash = "0x005d3a589a8e94da5a124b547aaea5338761ab52ec8ffb81b5172cd90ac3022f" + blobs_hash = "0x006a0f5e919dc9288760027e31a1e696774efc08c96b3c1dd43f68ee1b9f6359" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.tube_data.public_inputs.constants.historical_header.state.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000050" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [inputs.tube_data.public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x263f05e22af6bb2956b81d6f8de8d384bde3893253c8e04fc73aa3946147eecf" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.tube_data.public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x1ff29c18e0b396c446900d13fdfa93601c41e32feb210e77930dbe5ef7afa0aa" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.tube_data.public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x01cd675b23dcd28b8cb36c75b645ea13691ee485576d6c06a5e21fa30a5601ba" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000096" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" [inputs.tube_data.public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000005" - slot_number = "0x000000000000000000000000000000000000000000000000000000000000000a" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067a0ebc7" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34871" [inputs.tube_data.public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x000000000000000000000000a6d65a1ad1795526cb63f95cb3685b634407b98c" + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" [inputs.tube_data.public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.tube_data.public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000c9be302ae" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000101170" [inputs.tube_data.public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" @@ -67,7 +67,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [inputs.tube_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000012e9d48405" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [inputs.tube_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -75,8 +75,8 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.tube_data.public_inputs.end] note_hashes = [ - "0x14a8869b4c064cd11dad6a80a437685de5d864aafeba4d93fbcea2e1041b45cd", - "0x2acbc369c9c5848ca056ab178cefe87403ad77461af07f424fb9a76919682fa7", + "0x23daded1a5cbadacbde4b9e483cae5f3944989e027f5406924135a67d643087c", + "0x10466ab63c588133cf852c379feaa873c02d4e56a25b4570ecd8d605e7129dc8", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -141,8 +141,8 @@ note_hashes = [ "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x05dabc410b39490a7c4b51782d96d87af26a14149a789edf5f35e0088eeb495b", - "0x304121529a17d54cc0598d2fbf58e89a6fbd887120f93ae04ee8fcc1cdb89979", + "0x094412ee6524f6ca0441ba0a5083a1fc71ccbae790ceff64d9e5e499228e1839", + "0x014947c7333419674ee8855eb88bef00bdbb499f245edadc732d455ed84d6890", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -206,7 +206,6 @@ nullifiers = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -contract_class_log_preimages_length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.message] @@ -298,68 +297,310 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.tube_data.public_inputs.end.private_logs]] fields = [ - "0x1e548641f389b2d31200c26dedd8cf9a1ed050276e3c9181b977b49538f616aa", - "0x07b446c3085c62914d5ea3b1f99975b461ccf9fbe87cc2f1f5284167e22cac3b", - "0x000135c8409f04554455943f2b10aea284d4596edbf317268842530eb668fcaa", - "0x000cc01a0295a905c13335a3ffcf995347a6494c7d274c6dc5b673f9eff4b644", - "0x0040126f1c7f1da7a53911ca09f1a409901832940ad0676174d7c8341d359f44", - "0x0082de2ae8d18621f04c90b94c38b9e5a71b10c9c916df2d08b0edac206ec357", - "0x0023ff9055501934010bf3b011af13a337db6f088b3fc6b23109aeb7862e188c", - "0x00b67b53a36c098d68810676090e93a6d3b35e02bd18e0f2c9d7a20426c9c93f", - "0x00cb34d2cbb63952ee84edfb013d5934d52c4d21177c0b6f6934bc1524b563ba", - "0x00978d7734dfe53bbb065fc9139a1ff82ae9389dea9787fc0c3fbba9ef09d0e2", - "0x1478ae610ae29e0f2d6c7b414f9207e2c35ec3da149c73a236ccceb875a4d3dd", - "0x02e81f76884248749717363817a7a2374ac588cff16b1c5967880e37aee18fef", - "0x056dab5865c8637c055a2526aad8bdbb00fef0a188bc522ac78d3ba66d2c6d8d", - "0x212bb4d68ce81e4e518d29bdf03571d1b954e9112fe76d732a3ea37227383f84", - "0x1f533ebcdfc1d7aa3e8744e11f3c2a3c733c4eb9d8468aa6ae5e22241ae76e8e", - "0x2d8d2a5d068604334f9726a1d15b0e104d10634fc6101f5e526494909b45e451", - "0x0dfc34b4b98a1f93b4618007771adc93939930bab52f2b5b4a8b6566fb93c713", - "0x023b60fa9f4019ec0a8409350709d443a99f4a83867ba6f25faff4a7cb3c7b58" + "0x0183182b0c45ade494835b268ea1a3fdd745b19e7b9df4064081fd2defa6d964", + "0x13e5104b6bf2ae50dea72fb1862c37919e40bb134ee8ff57aba0323f35427065", + "0x00015b958240765cba37f8700ff22436a4499eb2fd01612b2fb0232c35223c3d", + "0x00a5f4f1771b04f68c37bb785ff6d83b4289093511962d3dc29bbe465b050b89", + "0x00529268379bbfbc9f16ebfc1ef9e6dd29e6e4d0fc0f7c0ddf0728747201a8b7", + "0x00ddc8717d0b13ee36f108320701d4bd909da06455caf4349a10903b16e6df78", + "0x00fdf350b7c3fe35bcffcd473431f5490fe05d8ecd58a244ec657b48a0c7562d", + "0x0044e08bc8cd76232aab30d61d0647013dc1ff3a5843f60ef84e20db049e47a2", + "0x0002b93b31df9c2ba87e8566eeb6eccd166a30424df9cd1c3cba8b5faa7d0687", + "0x007336dc56b950e78c1dfbeb015a0c7ed3d738bdec30afd0d8d36679dc2b6bbe", + "0x19cd45893ecf19a6d91b989140d6f0af8a554ef360265c92acc24a3b63240ace", + "0x2e1660fd57a3ed82e37b6c8e1970547de41fff6d4248a0b5e9ff958f07e49770", + "0x0a67736706cb1f789b7b16fb441a08f00e190a596428b91357d25d15ea1d49b3", + "0x00650dfaf0d7395153dae4d350e82d4abebb4c325970b8992a982a03b6b648be", + "0x115b15f80a45a2cff18ba888388ccc7917bd4937b6bb1171a0f4bdb1858534f5", + "0x2cbfecc710b4d7a5697ebf9c1d4ec1a7dcec6e04821440d183daccdaa10e56d5", + "0x2e58cdb112f4b818ea71a29a4ef91e06afbb0a5ab643b037b2134daaac8ae381", + "0x17b24ef838e3aadd36185a581b789eabf8d46a8fa694fb86c3972ccb27f1bbb3" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x039c49a6203c17dd40b19dfdda085b3b80c84785016c4347f2240e1d696c3b58", + "0x15385784aa21403c75dcf3bd8ecb2484fcaa7fe1eaab5562eea42582d654330a", + "0x0001b2c7e77722d36959b5bb79f3fdeb028e369f7ced8137e8c58b61b8422a96", + "0x007b305b4c68dc0871e040c245eabdfffd8d21f16ffdf21ff2c1ed0306e6bd56", + "0x00eb4f2996a1c1c85115c67501f8f7afa263dd42716b2c4523393b3f21424da8", + "0x009051c7b0da72dc269754fe37de07e1a629391d96972fbf4cca9d4ac7ba1dd1", + "0x00a18b1d434c483466d0d66c5777c21cdae151d7fe7d7419de237406c492b6fc", + "0x00a62d9b737397e325ac70e560b418a8c2061bf9dc1c00b2d7991d3c3f4b2268", + "0x006a868f2eaca7e6a32cde0772bf48401a0d27c9b00a1828528171f7d3edd81a", + "0x0007a93cb88380d83ca6836bb6239863807a3c7a068407888a877e18f34797a7", + "0x13f7b9234578895559a451b1d5de8f7b20654649133ccf555b114efcb52b2a88", + "0x14fd4179e68ccf3d3c194a5aeb3a8616408d114a250d5413444e609a92b284f0", + "0x0e74c4b4b9ee83c9f66b2dc974d2092f6607a12c73fc185c37c65d28cebb4b56", + "0x1852be9b2a6d7e4e8358543ef27fafc8d35764ac9c21698fa7aee14828191f54", + "0x0f67df1dab875493b23baaec9c4d35e718001ad5ea1f475f3f5395af12d60fbd", + "0x0aa6feef8bad221b1186595e484cb5c491a743aab5588f51f72f1f9d129aa119", + "0x2e136b12d05663ce07d2aa543107284bef8c7166fda0eafc0c1a9b26d51a2adc", + "0x0d55dbbf1c7d5f6644ded6c0f69fafd95a5090ec7bdbe2b295b1bacbbf8e3787" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x27ceb611c50ae48cface1d16599c0debd44c4cbbd7cc8c1b6d87bd662c7e91c9", + "0x305a03f6e0cf41cb167794060e7aa0c2f0ce4d4282c3fd4f3fb9e350f5c2a9aa", + "0x00013c92d8a146fc8518cd200a14d8b2206d1c783264ba2315ee4bd99e9b8418", + "0x00ce7dd1fea31ca491d2ba1ec54218561d61a644c04479d48f12f69ff1ffe891", + "0x000da689bbdca2561710911c1f87786ffcd7a2d2d486fce256f477968416b916", + "0x00a1de6b69ae64af68ea40d7aff5a0d347de2a3f05c537db2b1cecb779e4dcc1", + "0x00c8485ccd37f855e3d092c983a84f96ab2c91203b6c56bdb2d3ccddce1d389b", + "0x0005e7ff82f7199645f317ccca3fa721814f6deccc2ef22008836aa5120f8934", + "0x0000b954441227c384d0f3981feb9ffee24081645f89155c74cba14996f53c82", + "0x00a136420fef571f8d950a8ad6f5114a2bc1baace1a52ba3b0c775c758753393", + "0x218a90680035c00dee1878247d4e8029f34eb20847a6392d81be814f5847f63e", + "0x2d532f9db177337ed69327d07c883fd7c6a9f13f2279f4e7c6a6c34636d8878f", + "0x1606ce8401ae9acdedb55322b9145fbbc76ed9fd9dcdd50a72f12c1b046d195f", + "0x255fb9a107e13e6dce669d8add3939dc962056a6eca1685e39aa48507f7d37e0", + "0x1c5fd6c37d0bcbabdcab847d1700b536ff4f93fe72e9d9287de5bf269a13634b", + "0x09bd74f4be0966b5e66bc2b9ee0aa56d033c3c4ddd9780bd60476c098c970cec", + "0x03ec3e030476c16ce96af0712d13a12fd7117b1bad69522881e9828521544dd7", + "0x11f5f63d87d4e5c3cc12724344db733fd87f9474456ee3738d705eebb5b9d98a" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.tube_data.public_inputs.end.private_logs]] fields = [ - "0x0a5b826a626f3e2541276948c6d1c485ef1fa01d22f78f84a425afdfa1d5de92", - "0x1dd8324ccce2593cb63fced552660417f67f582d56dbf8b1de85920ac1058dd5", - "0x00001f8f82b892c2954d6163d670cfeea6bdbb25727933f79650b88a8409b5ac", - "0x0004e0e9089f9f68cbb1e0b1f6a9e19ec507243da67f1a42842bbf522c9eb86f", - "0x00179066baa01130fd5df1be62e5f85120b140d0ece84f502ac6153816dc8bc2", - "0x00458314a72a963f4a27596b43896e0faafd3b6b587e381b8154f74c366a2265", - "0x00a00e22c11aaca64183051cec857f0d1d30104a6d18ab3ef4f8c3e45ef4aceb", - "0x006f76cfaaf05f8b16d4a99cd28cc271270d5d93ef3d40586667352e659ad000", - "0x001f12acb734244273f8cbab6eb32dc34ebbcd78f8e37e0fcdab88dc563c7542", - "0x00ca247da92080acccf6fcf5aed63132899e345a2f568c5cde50b6ed9ecaa10b", - "0x141613450a3b9d2c69a9a60dbccf59a63642b1e4015852fc2722acb4bace7445", - "0x00d8ef352be4927c13896dc456df37a746875e38f960d5e2b3b6a6e12cf6c01f", - "0x2c95ce135b36812c0c4f162945173f5b80b1c06e075e1c5a79ad6f07e59c91fd", - "0x1c27fd863042bf1e5f484d2834f193ea269278c1856bdeb03d63fe2499ce093a", - "0x14fc3e3b242b4b611ae6c0cd1637a132b0a89de58df7792893fda4a5684744c0", - "0x232e13c42a535ca4042a54c39786bed82bd5631330d2d81143e343a2baf2c775", - "0x1328b6ba78c464f6b9639c6a9e53e7fb80fd054fad2ed328d495d34460eff4f5", - "0x0b8225c45515a05bfba1845bc79e567a2aee28767280aebd2bc076b9d9a6fcd2" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.tube_data.public_inputs.end.private_logs]] fields = [ - "0x0474c9525c558b0f19f9ebd5882aea28c2fc85f6b1015451105b17a77e1c1e28", - "0x092bee72d8cf3915ca92f150e3829ecc757e990c37e79db74dd795995abf745c", - "0x00003f2a4cf5b6234fcf2a0543008165e8d0e17a00de6f084adbb83165d75bb6", - "0x008b7f504f819efed6019b0b6a9f4caef86a3b8e57ff2d27b42bbca95abf0054", - "0x00217aa5f20bb158862b03aba920b324ee89bce52a68941cbbc3965bb428bbfa", - "0x00031c0370f3968279e47a9b89770526d7f8261abbbcd6ed8c9a9a7423214654", - "0x007d5cefd75341a3eaec31fd2f14852cb703d5a7158cec353e085dc65ff50fd1", - "0x00ac0575d48994bb6e262aea070d3db3a89c5e898d6c7912b93172046a57e751", - "0x007303b91fce265de87ec044602726f538687d39cb4241f24b3a40f6d393a583", - "0x0047b0ec041708ccee92314bdef805562d027d797bb94063d09ad4721a852c14", - "0x02d36c1f5d83c87f79b60d1bc0c37f8f85c6c51e1ffbd2a6806859a7c5b5cb17", - "0x04ad5c3ba677c8e9e70bc162ca0028175f31c1e5468c6df5a80eb1de53898323", - "0x2c2967c216ffb7cf64d7217ec6299819ba8b629bcdeedcfc3089d6b8f6d13119", - "0x20d92af9d5903d404e08fa3b0e7d121c08184be8eea1b4c536bfb396d81d6872", - "0x2d0525874b31a7974cde40f08664e78edc0ff9943d816ebe2541a8781b60a7b4", - "0x071fb7717f10fe86a95c551709738494b1aa4afe6424655a18d6df8cb9674614", - "0x252cda6a9018237478a10e1daca79a1248bc6aeb8738ac33846244fe7b1129e5", - "0x07fe97431264dc3d20fc201c971d7b3b6ce87e830ce3155475a199a5e02eb193" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.tube_data.public_inputs.end.private_logs]] @@ -381,11 +622,2932 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.end.contract_class_logs]] +[inputs.tube_data.public_inputs.end.contract_class_logs.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.end.contract_class_logs.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -403,11 +3565,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -425,11 +3582,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -447,11 +3599,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -469,11 +3616,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -491,11 +3633,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -513,11 +3650,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -535,11 +3667,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -557,11 +3684,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -579,11 +3701,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -601,11 +3718,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -623,11 +3735,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -645,11 +3752,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -667,11 +3769,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -689,11 +3786,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -711,11 +3803,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -733,11 +3820,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -755,11 +3837,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -777,11 +3854,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -799,11 +3871,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -821,11 +3888,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -843,11 +3905,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -865,11 +3922,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -887,11 +3939,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -909,11 +3956,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -931,11 +3973,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -953,11 +3990,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -975,11 +4007,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1000,13 +4027,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000" ] - [[inputs.tube_data.public_inputs.end.contract_class_logs_hashes]] -[inputs.tube_data.public_inputs.end.contract_class_logs_hashes.log_hash] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.contract_class_logs_hashes.contract_address] +[inputs.tube_data.public_inputs.end.contract_class_logs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.tube_data.public_inputs.gas_used] @@ -1014,7 +4035,7 @@ da_gas = "0x0000000000000000000000000000000000000000000000000000000000007600" l2_gas = "0x0000000000000000000000000000000000000000000000000000000000004a40" [inputs.tube_data.public_inputs.fee_payer] -inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" +inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" [inputs.tube_data.proof] fields = [ @@ -1562,168 +4583,168 @@ fields = [ vk_index = "0x0000000000000000000000000000000000000000000000000000000000000004" vk_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x2b77e1f090f8ac50bbc9fc28db8ea336688cb784041d63878f82f95be843118d", - "0x2f2772438e0d618a93623471f8f0c11320a737162b66f222e2068c3fb27b88fa", - "0x1ee4b31996273eccf6db40c0a6907056b06b370c9d39c9949911b799ca270169", - "0x126bb13ce4b07681f511f3a23d88cb7cfe082a76730abd5b4be5c4da3b5c51fb", - "0x050dc6390aace9c6e873b762c65e7d6a21e78e64e5ad6cc7c8fd5e69315ab5fe" + "0x223063c72cef9fc3d51ebd312aed0da97aa4e3d5f71ed4b3cbaeb8010bb06466", + "0x16d7a826947f99f5da063c1a57a8d32e7bfbe10855090bed66c1d719f9dd8680", + "0x1ed25a38cd9d04ab5b82e40e8df5203e8601022abfa3f35de954bae2f5ab9434", + "0x0480e0c2f2c5c4c9096c1dbec900df8718ee5052ec59e04e9c94e7a43eb19139", + "0x00024db01ec2c08872cd46506dfd04762a0498b62b0d619a766a5aedc5c89c6a" ] [inputs.tube_data.vk_data.vk] key = [ - "0x26bd91b80db5151d459b915ab329b4d11c6eeafe0e97e72386eaed494d751775", - "0x1b8dd927cac755c02d9456bf63e596b59de1a52838ff8bc5763e7c00de011a38", - "0x26df3250508281b9dbb598e2e3cd3f1f476777f6d33a63bc6a4a7175551bcc62", - "0x06f3c11bc68ab447da0a2834ce0981ebb207a315c3d7dfb9e44f817fcc43fa28", - "0x0b65d264e7dccd078748c392eceb533e4b5845a6cb8ef3b976cbc8bfda8c1ac9", - "0x14c0f99b5bdbf994a0f47a91cd5b2681ee99d5be4f514f84ae52b4f3f91f9c19", - "0x2312d0e100e75fd6e710f7d1cb0539e72d4e00ee8ca63b2191d6ef0f40368e1a", - "0x1bc1bd036e24075f60d630d2eb789af63eac2d11468fdb0d9084fb795355f4f5", - "0x24ace110a4355344f76fd44091041100404b7d9dde842084f01498064a919388", - "0x2a8e2178d395174dbd4aa5a9ec5982616094c67d528d017e1e5f162ca132c3dd", - "0x0287c3e9441ac5a8a854e94ffd2b6662b7fac46ae8dc3e967739bdc553a7cc18", - "0x2909625ba37c051482fcb2a6d4b0b881fc0add32a518e9270735141a81879801", - "0x146c771a25ebfc2d3ce817a307725c635045da77ddc0bdca93ebc58b2c575999", - "0x291547f0daa3f8fb20084063c33254ef55d639cce853d950c4e6d72bb5757174", - "0x094c8da4ed92ffb622ae23aefc3af8cd19f923e1154be605b7119bdb5aff46c3", - "0x284bc726e5bc08e3b3fb40aab261900c66175a5cf68a9adaf0a0a8171dfc3ea1", - "0x2512d21f51e6e3802830a9c536c3efd39ce2cd52842d6d58f22e26992a50a5eb", - "0x13c08d379428a2d368747fc901e60e3b43ac60653438ad666f333c763d08920b", - "0x060fc28b4be84ce6eff3bed386e507f8979ab719e77c5ff665a679f52bb3ba2d", - "0x1f80fe039fd28998e2f764e8970a3cccd98d7979f0bcb0c28d0ac0a8c2cf7707", - "0x2df7696fd15bb2042ff9bb29ec8cc58c6590126a683293f7bf515dcf1314cbb3", - "0x09372093410daf79ba5945e518a59d60f775cc91559f737167412419e1e8a82a", - "0x22934541d47ff97063a6a0d69e1d12b8a695a2f163348c8ceed20f7b4401cb4c", - "0x09cb15b2e94258dceea00f9a985fbaeef76b363d3fd04a64a3fb49c0457f0dea", - "0x2a5adbef3a7adcf9612cc8b271d84a8558926b01ae92685db8e3126f9550240b", - "0x293b45bbfc9f1e2663af13f16d17986dd3d0bcf2c93c8cb2e107fb8c94bafb1b", - "0x00763fce24b45259836f8ddfb649e382ef270b91a8dfa2769d78d2fc487f0c8b", - "0x00300372deb5a39be40c9d60268cb20bae5de098e991f55ba3e4a614ddf671eb", - "0x263e3f6b00fa8f60ddf22fbf0d52b13d78e820410eb1af951c01e22ccc244f73", - "0x22fb2b082d541cecae3caa0b9b11dd584a4b20c5c80234a5f665661bbebdbb6a", - "0x1443e617c482645da7d500a89e3fa32b93cbdfcfe7d42fa82f2f04a1e6e6657f", - "0x01eeae7356e7717eb3db51311fc80889d2bb5a175e53f795365bbd1cfe91988b", - "0x21c9c316e002ef671e29db4118c52f359cfb5ea42d61c721eaea7c0f41e4beea", - "0x022369d920581fe330a296bad35997abef23606b57a17b0016c3c93c3ccb3b08", - "0x139aed40053bb41c57426c95dafc6cbfd25e2f43c385907b62d5438db5db32a3", - "0x07571f580597030070341bcca314590d924bfc6929e3ebc63c8babbc7529d15d", - "0x033229c39041873e98c4eb9e8b0cfb7087ed342b880098c0c4140632474a5ba8", - "0x0c7670533834beb760260f94d6a84e3fdebf1923c976146480bea3d4da5cfd2f", - "0x0583748d7c12d509ec41b92b8785f82adad663626a7b39db624c363ec1af6a51", - "0x00c8a2528cdf8505553eac2e7a84ba275f689c0f0e8f1d30310e52860562eccd", - "0x02648fbe372de92acff07992211d4cb3cb888e0a988070db2a27e92060b6620a", - "0x06cd877c062a68f198a5799fb29940f1b2039e4e359325342482d8884aa0f67c", - "0x26c25cba72e271b517ad3c049f08991023fc74f5323fc12480c050e3d0e22bca", - "0x25369fc0a8ec089fc953a9595d84e40028d2bb70659ea6a7114fbf228fb75721", - "0x097316f9f1d51204afb92a26e62eddb6bf5d47fc281b4710dbb4903d7d9db199", - "0x2b7aefbbb7ed80bc5a81400aa5a18a0f35313e2c303d91b470d8b9f411b22fb7", - "0x04418c85aa86c312f089bd2867554237df33ebf40272e9f712aaec92175b3140", - "0x086df016152930ee482bedf8e51a5f6bd1babbd9199e6fa33240b0ccb54a5af1", - "0x1b3f231b19c45208233f89bb7348a34ff97e52bade3c4491477a2c927298fc01", - "0x1ef3d56925dba212212bdcae3fc42fb0282a86af1583fe458bf093faac437655", - "0x1f3f7dca03da8e11c1bfda572977110f9dd7a97ad5cbccbf7826d8e0892fc9b2", - "0x05d64abb087a14394875bcf1b9f36b38f1193a87ee6522755dc47b5527bf43c4", - "0x025d0e12cd2d25694acca0db0b2b6eb9159cd738d6265448c04ad0e7e6ba99ad", - "0x1a274aeb65ab06da14031aa43b3737eddfeb04cd3bd0c47f1a4eab77162d5df6", - "0x1ef48788632ca2df917e33d61bac1d32a90000d692f38888fcd254cca13b0370", - "0x075d8493022d55ff5e6d8ce597e55c1ff941e1a9486e6e82b53c3059dcba07e3", - "0x1131d7db819c97f403f2830605cfee452e1550ac883e5c764bd18e164aa933c3", - "0x05ca28e403fb459fee8bf50f4abd4891482fc318966e6cb4e2f13b3b705d31d4", - "0x02bedb1a6aa45c3d2e45f02a24001696dd4dcfd6f72bdb793cce5df22868726d", - "0x0f8849d7c39967e8443f8a1dc9da3ca693c6b6a9f49eb8d13f6fe0f1612a3565", - "0x1a7703847ca4238f554ec07be9d226d4518746e978bf24ca5f8f07e0a96b369f", - "0x2cb2600f8666649fbf2c4131db49804b97a13a1037fbb270b18285ae3e560a37", - "0x01d11e7ae966e9bbacd0f0768afca8952b4f8c231b3f0b0b407e7913547fa448", - "0x0c39e463df513f6452e9193daf801e5241cffad4648552917dbd8c8a73d8970a", - "0x09d3cf03e4a55f4ed5bb76da7a159f7ba90a2acb22e5eb7a7d4d9ef9da481f06", - "0x281f649f6d07cf7fead741ebd721b074952aaeb874421592b1ab25962c65a120", - "0x0067c824e9d5b3103c0f27447517d98fd2caf420c34d546049590f12a3362a49", - "0x07a3cbb78cae41705b2747cfec6405546218648e9359ccdef78e72f22e121463", - "0x2604a3f36ac6778a015697ca421b47cfa1497fd354da9e1e6bcb7245c6f6ddea", - "0x08572ea80d140660ea5d63710ed602b6b47c171b4115337eb251976fdd671589", - "0x1fdc5c450ac18b51cb36cc6e7a44fe1fdcb7c44014d12362a59b3fe21c6a4dc4", - "0x15c9fa1bf955a77fafb5de26f382d3734f766165b17afa3f13d857612c21f7ec", - "0x24c8ff5791c6fd4960e96a44088734e423f6b58ad62e3207eb849a955345230a", - "0x000efe7396487d95535d01adf9a181a579724ae525ca5a276e07b6c8dee00287", - "0x04175f1658ea2f7cc2325b7a4bf70d4e4b7124799bcd26f9647e723ed8a7518f", - "0x165b81f7b5ed4cde25285cb58aa09a9dbf3af8ada8613d4179eb2ccef6d14549", - "0x0875c761b22a82c51e23979f67d2c4f625cc9ce3f11e832df471662796148a66", - "0x1a43d12531333061c8730eb0b7f018b98c8e2755240ef0971d460ec6acd4b27c", - "0x1cb675c41c3b6def4f2e621e2b74d976bb41829e99c22116e60355effbfa9d6a", - "0x018c54e81acc8ec1d38db4237fd461b5075f2ed949fec6e5b495e71b6a1599d3", - "0x11f9175a3c3ff2365a8bbf0b2246934f4177b6f628c5b2d403da33553ed09dd4", - "0x28e87715956a4934743f0d9a3d64d20218c0082f5be99ef31d129bcd5a793bb7", - "0x101ced94abd7f21da465aea4320b155318471218ec93790ac6a8fdf01764248a", - "0x2fcff60dc8d062eb76173481ab8a2721905eb63fe62741dc6d5d6160d3c9a5d9", - "0x04607684855cedafae48bcc7d445e0bc3fa31daed9d729c74d54467e77657abb", - "0x04b2eb7adcde0e7ce70de8467df97ec3e23a8e186ab74b1421590a931d6c9479", - "0x295bcecb9bf68de1252fceac76d90136a4a7ffc4027da3065fa490832c71955e", - "0x12ae07fc4899474717750712ae3a7887cc90dba054387041d58f75e56e2ed6ec", - "0x13530c27ef877414a10445c514e4ed0ca027d4a85032b651bc8636f8c4196456", - "0x20e73ce80905b8b67e32a43a3584226cf05d58bfe1dd5b069647f0e3dfc4aaa0", - "0x20e10820999383607a59f053564fba4f0b01701b6e6df80139d94224bb8cca62", - "0x2379dbf1653e687867bca6915e63199fb99f7d0421f3c00e5613012f90f2e840", - "0x09f80555f2d7a05f3838726b319cf039ae36fa37ba23fa06fff1c69da83d1379", - "0x1e4afac09400bcdb014d916ffecbef73dd1154da1fabd939f86017ec3560973b", - "0x1f25e67686532e64552b40ca235478d51db140e24c890c45019732b22b1e0c77", - "0x2d396ce3f7b1432357fc476e705a6224bc8171d4d2e14026d6924cb1744f5e7c", - "0x04834069d669e993eb1706720e16fc0ef65cf8f83f822379f7b6acba6c7b5f0a", - "0x1bcfd2208e062ae8fa829f68a1caab5cf4618128e605942bc49803600d0061e4", - "0x0484ee970df58251206b76c2929837397def93e3684484b98bf47bf21c5ce278", - "0x292a36315540cc0e38f2feb31578f348bf7a02398bc34684b124a0841b43dcf5", - "0x2330cac2257790e2fd94e24f2e604c6b78bd7fb14f43ad9c3e37a3a0a5a2182a", - "0x1bff040fa1de695ee30f875d98eab4cfdfc3c11f47e2b7e7cf3ea411f0c5a569", - "0x02175ca7d5c55179f99eb6e917861dcf75eb3fb1fb41c46780b620f72a05f0aa", - "0x27313ea87f60ac0ba38caa015a4c0788cc4cd3743abcf843919338c72433b24c", - "0x2b22fceb46e93c691d3a461ceacf80670ede738a5ca682718ca1048699b6b591", - "0x2d329f682c75f11783a7029fdf7fb7cae1a340769b6a2fd3c0a9b5d8eedef049", - "0x1fa6eecee4412851ee655c64d5b9a8a24ea7aab1e3f42957e17c93abf9285ccc", - "0x0bafc2e9bd9e95a8b854456e42134b0466ba2186dc3b179dc702ee57a21b8fbf", - "0x09655b6c20373f478d0d0a38686b541f92e6a9b0a0a6535c68ab1507a157709e", - "0x19b7a838cf44beecddbe9e1381dcea7209e494b5c00e7ea8d190216310a12c3f", - "0x17da7eac110d6210be1a3cfc10fb57396dda247caa36cb0965d385b0a4c71e29", - "0x26e2b967013c3d4bd776f357ed5a8562d14e36729ed0ed1099824c9db1d0c17b", - "0x2b92537f950f88ab3cb40437eee4a6f57a5b9bfc2399239aadf63f632eb176cb", - "0x04d1136be50c654ab359c77446f8638c5acddb86953ac1e9772b240f1e045d81", - "0x241d48ee512eb573c28d77de8b2d4c0df1bde3259e81178606c9438700e3d21d", - "0x2a7cec0776d0e9292cf68e9706a4f692a0fac5acc52edb71e7a55c9ee780b306", - "0x11f190dcd63126ee76fb9644b110bdf6657c1837e75d904f475493997fdfe1f3", - "0x04781d7e5a587373596013c54ad8b76fa12be66b456621580cd939d82688f5d8", - "0x0111fa67b86fea5ae231939a1e192136a13d799cff186842a697c64d9eb2b52d", - "0x28cb727c86b01509233e982ec5f2d840f89f53162f9bfdd83c4808a29f15bf09", - "0x0d265f5948bd836c0739a15ef0d7ffb91decba209a198e8a81e6eca4b3817576", - "0x184fd3670c857a737f46595b8d5f22190554033160e248969921dbf9755ab97a", - "0x18c0746001ece819aa561c5253383c78deabe6b8e43905ba568a98fbc4b15fbb", - "0x1eb313149dbed86d5d979f554611a68df89c53a4ace8715a889f2c92b353ccdb", - "0x004d6f5aeb386796864aa5d314ab608d4c99a2fe72e18dead127ebf56fc97869", - "0x305724c8040e4155fa3f14c3c3a9fded89e30338734ac6b1ecc5daf3fa9886a4", - "0x0fe70f40b853335ac371c5168321927c053f7f884fb0bcdca6f29c6955bea372", - "0x1d15aba750be26d312f35a36d7ed2658d73c65ac38970bbadba351d2fba545f1", - "0x274451f099016007ebb4fac4dd4929f1c4853bcb450fe140014a3f3e939fedc7", - "0x0036d0e6846cf7a083c9680aeae473446ef6390546057ac91fd0bd7728d19586", - "0x20126f03c9cc5370b68e6a649c6dbb3c863e6965e5690c0134157d36b0a083aa", - "0x1a3090ff3130708a609fb0515708e692e5fb392ec9dcd8d306b1dfdd02816784", - "0x24e5cdbd9ef6a944d7f81c0965a29e6a4a5da4858394fb2cc88b5feb52d0f161", - "0x1792a4a618617047a5927d26fe6a03a64759f53ccc9d9d9ec58ba01ec285f5d2", - "0x2e76ccf67d5e8006e4c1aff6dfc7eda0a71275e42e8ac84f4ef50732cf5d5e3a", - "0x15bba33d94ad939d7c15f9648fa9914ec1be82e717537b7714d51734ad0111ab", - "0x2bf643fd632eb0da929b73e8936bec6988029cd4e19425f7a68c8fe271283c7b", - "0x24bac2991f7c3e9a746b488ab7c4e7e9c549a8c6db4a1ac6d117f47e25767886", - "0x274a2a04dc4dec9559ee38126921c9f75491b2bc34386dbe5a3896dfc3b19e2c" + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x0000000000000000000000000000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000019", + "0x000000000000000000000000000000000000000000000000000000000000001a", + "0x000000000000000000000000000000000000000000000000000000000000001b", + "0x000000000000000000000000000000000000000000000000000000000000001c", + "0x000000000000000000000000000000000000000000000000000000000000001d", + "0x000000000000000000000000000000000000000000000000000000000000001e", + "0x000000000000000000000000000000000000000000000000000000000000001f", + "0x0000000000000000000000000000000000000000000000000000000000000020", + "0x0000000000000000000000000000000000000000000000000000000000000021", + "0x0000000000000000000000000000000000000000000000000000000000000022", + "0x0000000000000000000000000000000000000000000000000000000000000023", + "0x0000000000000000000000000000000000000000000000000000000000000024", + "0x0000000000000000000000000000000000000000000000000000000000000025", + "0x0000000000000000000000000000000000000000000000000000000000000026", + "0x0000000000000000000000000000000000000000000000000000000000000027", + "0x0000000000000000000000000000000000000000000000000000000000000028", + "0x0000000000000000000000000000000000000000000000000000000000000029", + "0x000000000000000000000000000000000000000000000000000000000000002a", + "0x000000000000000000000000000000000000000000000000000000000000002b", + "0x000000000000000000000000000000000000000000000000000000000000002c", + "0x000000000000000000000000000000000000000000000000000000000000002d", + "0x000000000000000000000000000000000000000000000000000000000000002e", + "0x000000000000000000000000000000000000000000000000000000000000002f", + "0x0000000000000000000000000000000000000000000000000000000000000030", + "0x0000000000000000000000000000000000000000000000000000000000000031", + "0x0000000000000000000000000000000000000000000000000000000000000032", + "0x0000000000000000000000000000000000000000000000000000000000000033", + "0x0000000000000000000000000000000000000000000000000000000000000034", + "0x0000000000000000000000000000000000000000000000000000000000000035", + "0x0000000000000000000000000000000000000000000000000000000000000036", + "0x0000000000000000000000000000000000000000000000000000000000000037", + "0x0000000000000000000000000000000000000000000000000000000000000038", + "0x0000000000000000000000000000000000000000000000000000000000000039", + "0x000000000000000000000000000000000000000000000000000000000000003a", + "0x000000000000000000000000000000000000000000000000000000000000003b", + "0x000000000000000000000000000000000000000000000000000000000000003c", + "0x000000000000000000000000000000000000000000000000000000000000003d", + "0x000000000000000000000000000000000000000000000000000000000000003e", + "0x000000000000000000000000000000000000000000000000000000000000003f", + "0x0000000000000000000000000000000000000000000000000000000000000040", + "0x0000000000000000000000000000000000000000000000000000000000000041", + "0x0000000000000000000000000000000000000000000000000000000000000042", + "0x0000000000000000000000000000000000000000000000000000000000000043", + "0x0000000000000000000000000000000000000000000000000000000000000044", + "0x0000000000000000000000000000000000000000000000000000000000000045", + "0x0000000000000000000000000000000000000000000000000000000000000046", + "0x0000000000000000000000000000000000000000000000000000000000000047", + "0x0000000000000000000000000000000000000000000000000000000000000048", + "0x0000000000000000000000000000000000000000000000000000000000000049", + "0x000000000000000000000000000000000000000000000000000000000000004a", + "0x000000000000000000000000000000000000000000000000000000000000004b", + "0x000000000000000000000000000000000000000000000000000000000000004c", + "0x000000000000000000000000000000000000000000000000000000000000004d", + "0x000000000000000000000000000000000000000000000000000000000000004e", + "0x000000000000000000000000000000000000000000000000000000000000004f", + "0x0000000000000000000000000000000000000000000000000000000000000050", + "0x0000000000000000000000000000000000000000000000000000000000000051", + "0x0000000000000000000000000000000000000000000000000000000000000052", + "0x0000000000000000000000000000000000000000000000000000000000000053", + "0x0000000000000000000000000000000000000000000000000000000000000054", + "0x0000000000000000000000000000000000000000000000000000000000000055", + "0x0000000000000000000000000000000000000000000000000000000000000056", + "0x0000000000000000000000000000000000000000000000000000000000000057", + "0x0000000000000000000000000000000000000000000000000000000000000058", + "0x0000000000000000000000000000000000000000000000000000000000000059", + "0x000000000000000000000000000000000000000000000000000000000000005a", + "0x000000000000000000000000000000000000000000000000000000000000005b", + "0x000000000000000000000000000000000000000000000000000000000000005c", + "0x000000000000000000000000000000000000000000000000000000000000005d", + "0x000000000000000000000000000000000000000000000000000000000000005e", + "0x000000000000000000000000000000000000000000000000000000000000005f", + "0x0000000000000000000000000000000000000000000000000000000000000060", + "0x0000000000000000000000000000000000000000000000000000000000000061", + "0x0000000000000000000000000000000000000000000000000000000000000062", + "0x0000000000000000000000000000000000000000000000000000000000000063", + "0x0000000000000000000000000000000000000000000000000000000000000064", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x0000000000000000000000000000000000000000000000000000000000000066", + "0x0000000000000000000000000000000000000000000000000000000000000067", + "0x0000000000000000000000000000000000000000000000000000000000000068", + "0x0000000000000000000000000000000000000000000000000000000000000069", + "0x000000000000000000000000000000000000000000000000000000000000006a", + "0x000000000000000000000000000000000000000000000000000000000000006b", + "0x000000000000000000000000000000000000000000000000000000000000006c", + "0x000000000000000000000000000000000000000000000000000000000000006d", + "0x000000000000000000000000000000000000000000000000000000000000006e", + "0x000000000000000000000000000000000000000000000000000000000000006f", + "0x0000000000000000000000000000000000000000000000000000000000000070", + "0x0000000000000000000000000000000000000000000000000000000000000071", + "0x0000000000000000000000000000000000000000000000000000000000000072", + "0x0000000000000000000000000000000000000000000000000000000000000073", + "0x0000000000000000000000000000000000000000000000000000000000000074", + "0x0000000000000000000000000000000000000000000000000000000000000075", + "0x0000000000000000000000000000000000000000000000000000000000000076", + "0x0000000000000000000000000000000000000000000000000000000000000077", + "0x0000000000000000000000000000000000000000000000000000000000000078", + "0x0000000000000000000000000000000000000000000000000000000000000079", + "0x000000000000000000000000000000000000000000000000000000000000007a", + "0x000000000000000000000000000000000000000000000000000000000000007b", + "0x000000000000000000000000000000000000000000000000000000000000007c", + "0x000000000000000000000000000000000000000000000000000000000000007d", + "0x000000000000000000000000000000000000000000000000000000000000007e", + "0x000000000000000000000000000000000000000000000000000000000000007f", + "0x0000000000000000000000000000000000000000000000000000000000000080", + "0x0000000000000000000000000000000000000000000000000000000000000081", + "0x0000000000000000000000000000000000000000000000000000000000000082", + "0x0000000000000000000000000000000000000000000000000000000000000083", + "0x0000000000000000000000000000000000000000000000000000000000000084", + "0x0000000000000000000000000000000000000000000000000000000000000085", + "0x0000000000000000000000000000000000000000000000000000000000000086", + "0x0000000000000000000000000000000000000000000000000000000000000087", + "0x0000000000000000000000000000000000000000000000000000000000000088", + "0x0000000000000000000000000000000000000000000000000000000000000089", + "0x000000000000000000000000000000000000000000000000000000000000008a", + "0x000000000000000000000000000000000000000000000000000000000000008b" ] - hash = "0x26a156d7dff9738d14d18bbdd97ddde7ca8e5e330ef0e6338eef607842f175fe" + hash = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.start.note_hash_tree] -root = "0x263f05e22af6bb2956b81d6f8de8d384bde3893253c8e04fc73aa3946147eecf" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.start.nullifier_tree] -root = "0x1ff29c18e0b396c446900d13fdfa93601c41e32feb210e77930dbe5ef7afa0aa" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.start.public_data_tree] -root = "0x01cd675b23dcd28b8cb36c75b645ea13691ee485576d6c06a5e21fa30a5601ba" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000096" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" [inputs.start_sponge_blob] fields = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1746,8 +4767,8 @@ expected_fields = "0x00000000000000000000000000000000000000000000000000000000000 [inputs.state_diff_hints] sorted_nullifiers = [ - "0x304121529a17d54cc0598d2fbf58e89a6fbd887120f93ae04ee8fcc1cdb89979", - "0x05dabc410b39490a7c4b51782d96d87af26a14149a789edf5f35e0088eeb495b", + "0x094412ee6524f6ca0441ba0a5083a1fc71ccbae790ceff64d9e5e499228e1839", + "0x014947c7333419674ee8855eb88bef00bdbb499f245edadc732d455ed84d6890", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1812,8 +4833,8 @@ sorted_nullifiers = [ "0x0000000000000000000000000000000000000000000000000000000000000000" ] sorted_nullifier_indexes = [ - "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", @@ -1879,9 +4900,9 @@ sorted_nullifier_indexes = [ ] note_hash_subtree_sibling_path = [ "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x287b1c7a4ac00b80184a37f0f3cdf81f43901940c7d8742c83f2ef5df6f0846e", - "0x1efa4a253d3f711f89cb32936d7e581269e3b912d92119cd1c818193b0414695", - "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", + "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", + "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", + "0x2cd9b64cd1b2c50cecc86ee0d36fe36fd81aea0463d0807b0a40b1731e17e94f", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -1915,9 +4936,9 @@ note_hash_subtree_sibling_path = [ ] nullifier_subtree_sibling_path = [ "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", + "0x025967f5ce3e8a73de5d2693320edca41bac5cf7e25751f70d765d2e352a3ea6", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x1357e79b986c6b7d239f16476b28a8d8457a6503708f3a22c9647972ffad7253", + "0x1ee8ae75fd550e30cb46ca81d918226b992ba79ce422f25f9aade5676913b633", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -1993,14 +5014,14 @@ fee_write_sibling_path = [ ] [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x2ddc0778fbcb0b9571ab08ed97b809ddf2dc0be76a62824e1afd67333fe4f1f7" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" + nullifier = "0x06fc30b743b9370dd50838a11c86798d5ae9d163169c13667dd98fa0d883b336" + next_nullifier = "0x0aeec83e5d8ba11ba5c5542c615ade935be2f9fc49380049f4c8db40b862148b" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000141" [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0492da62a8519570468c66894b510cb38fc1661d4a9b19aff87e81cff59b5d0c" - next_nullifier = "0x0c7c4e35ae49e662bdf65e4f71f199343770862903506f1f35639239c12aeb64" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000143" + nullifier = "0x000000000000000000000000000000000000000000000000000000000000007f" + next_nullifier = "0x0607a2949bba6dd64ae4f7c8638910599e1b97a21aae09fc9fb297220fc9bd9f" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000140" [[inputs.state_diff_hints.nullifier_predecessor_preimages]] nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2313,18 +5334,18 @@ fee_write_sibling_path = [ next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "192" + leaf_index = "193" sibling_path = [ - "0x01aa8894671815b1a1c99ab5aa65d66e42addf285aabf8740438e0f1b9c13d7a", + "0x1e23f65cea7ffc6a6af2bd72ce494b98af26ed0d34e337a8b00deec37d75def4", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x0505eb1f61f7e17f47fd84c0cfbf485f601e13ae949d56fd0c19fc601cbc3fe9", - "0x0e13f607038d73e229de7a58d6cdf07443ec33bc19f867fd6f64f262979eee90", - "0x0bfc6d0cda4f1282036ba421c80d872a2c21fd338cc1cf7c0237d1e9edd3d9c7", - "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", + "0x02d57f0bcfd5f7353fe649f8b718169ab9380a6a4d408d10bfc15eecacaf68a0", + "0x2e45cb7ba4228483264aa7b755b6b9467ef933af8c5fa8381152bbfdc86c3f91", + "0x0c5a43d0d165d154ca134eaf4fabb6fd8f5256d11b242295b8a533b71243e983", + "0x0d89f6d656bc116a1b35ddd5e2501f9dfbdec27f64e464b6427cc51ebd58ddbc", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -2358,18 +5379,18 @@ fee_write_sibling_path = [ ] [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "256" + leaf_index = "127" sibling_path = [ - "0x24a33b963ca23018aa7af8154e6b96933981f79fcfa16f46c58fd258c7bb83d7", - "0x1fed9a23872b418e24e9b357feda17940c31fed3fdfa5ef8f56fefdc3b241343", - "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", - "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", - "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x0378cd071afd07958b152d6ea60a3b6dcb2299821b34e847adea5a8df77ec9c2", - "0x2c9fead6b6c8be7e719e69d0212c46639a3a8154b5489317098c6efc7777d37d", - "0x072ebe02c060be186d9278856e0aee5904c7705fa7d0d8c8db41233dc57d700f", - "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", + "0x0d2e74b9d21f0f0ca0bb02fe570268b7927737220eb27c2ee03911305b4a39b4", + "0x125f11770899f31d09cd5954bda0a90973b480be7ff9e29a9c02562ab78f0ee6", + "0x07961b7b41a4705f005f5fe2942faae223307b4f3033c46f9cccfdd57791b65f", + "0x29957e7d9a08ebc027115c442d1405703b1c5e530a6b171906a0172627ddc6eb", + "0x135c2d2dc15a5acc7b43b89aaba27718b5f575df9413618552a3a1b3121c8bee", + "0x28b8fd8b9d61fbe4b1c0a05c6313d3ea28b715a5c2ddab3a4f9d127c27dc6b9f", + "0x169afc20aaa33427f6a9f136203922bf52f1107285f5696611645b6b55df8561", + "0x0c415f244365efe4d44ee29daf2770228801241a55679fac48a39b8d6087ed06", + "0x0c5a43d0d165d154ca134eaf4fabb6fd8f5256d11b242295b8a533b71243e983", + "0x0d89f6d656bc116a1b35ddd5e2501f9dfbdec27f64e464b6427cc51ebd58ddbc", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -5193,22 +8214,22 @@ fee_write_sibling_path = [ ] [inputs.state_diff_hints.fee_write_low_leaf_preimage] - slot = "0x26599f328e161f0a207b32c35117416f0c5b3717a718c1901affc89da47d46a2" - value = "0x00000000000000000000000000000000000000000000021e18aecccebf9f206c" - next_slot = "0x277658932a5ec6c236eb07131b793e2acfd4d6c1170536bcfcbdfcb5eb1a8ae6" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000087" + slot = "0x1f07a4184dea4dfd6e55fe7a932bc0f371515bc2c204f6c0102cd770f7791e9c" + value = "0x00000000000000000000000000000000000000000000021e19e0c2205e5c76a4" + next_slot = "0x1ffec26a7a1c2a5b072eeb143668711e894b25fed4025595d70dd77b993ec066" + next_index = "0x000000000000000000000000000000000000000000000000000000000000007e" [inputs.state_diff_hints.fee_write_low_leaf_membership_witness] - leaf_index = "127" + leaf_index = "125" sibling_path = [ - "0x0da3a1ac63a0ffed9060613c4f7449a69bebea90c517a88041bf136f4aa075bd", - "0x1c4f90e9eb942ca6a4696a7efd3aa45f3a4fc9e8576d18c95dff999d12bd5fba", - "0x0fe501ab7faba8fe726351d18bb39013221ff7cc0d34e7e8636b2963559e5400", - "0x088ac1334458ef29ce3d969205db12bf3326a80d38a1ee89e86a371bc17c8a6b", + "0x1d6a07f3a88914ec59243014c8eecda552ab76777dd1860fcf2250525ac7b663", + "0x0531ee2f28aa4fd3f1ab64cae849b50b70402681cfee9f6fc567d7b481a8afd7", + "0x06ffa8494b3c899d8037739f83f07cc10778df95cd23eaeeeda6563fb7b49718", + "0x175ed31fa5ee36d26ce661631273cf4656e146bce86bd4557565d103c43ed36f", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x1e9e35608b017f9568274ce7d302fc59e85bb588c44b59855bae0b6596364ac6", + "0x29306401e69183de48ce55c972fdb13d57261372e43b1894ab5d1c00cba45716", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -5244,11 +8265,11 @@ fee_write_sibling_path = [ ] [inputs.archive_root_membership_witness] -leaf_index = "5" +leaf_index = "7" sibling_path = [ - "0x254c2380da37e6bc8bc76d3f564a9c369fdfd9317059e419065608da81ca14e2", - "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", - "0x0b61237fe1f54ebe56c699858d9e52e1396fe978122732ac0743b10be8dbf89b", + "0x250b07e40f14466de308748ef28efadb1314f9fa4bef984cddeac0306116922c", + "0x04d5fef6e22fb1aa4ae2adfe2d944cd101facf5b93489672ce297b20f4069c8c", + "0x16b7c5c76a84b2b464dfbdd89eef510334e5caec56b3c926c3975931fe5d41ef", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", @@ -5278,45 +8299,45 @@ sibling_path = [ ] [inputs.constants] -vk_tree_root = "0x048e6bd7b9c1bee68207fabe01c023a98b343a54ef593e1931cb25ded7fc5bd8" -protocol_contract_tree_root = "0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423" +vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" +protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" [inputs.constants.last_archive] - root = "0x1736d03c667400d1681bba55a6f8da405d5bdbb1f2a2f170bd780d1d46cb73e8" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" + root = "0x1b0aa0d57c3f0f1e4973861d16c9349c233788f9e808e14907ef2e7306a93803" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067a0ec9f" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b349d9" [inputs.constants.global_variables.coinbase] - inner = "0x000000000000000000000000a6d65a1ad1795526cb63f95cb3685b634407b98c" + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" [inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000c9be302ae" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000084a1c" [inputs.fee_payer_fee_juice_balance_read_hint] -leaf_slot = "0x26599f328e161f0a207b32c35117416f0c5b3717a718c1901affc89da47d46a2" -value = "0x00000000000000000000000000000000000000000000021e18aecccebf9f206c" +leaf_slot = "0x1f07a4184dea4dfd6e55fe7a932bc0f371515bc2c204f6c0102cd770f7791e9c" +value = "0x00000000000000000000000000000000000000000000021e19e0c2205e5c76a4" [inputs.fee_payer_fee_juice_balance_read_hint.membership_witness] - leaf_index = "127" + leaf_index = "125" sibling_path = [ - "0x0da3a1ac63a0ffed9060613c4f7449a69bebea90c517a88041bf136f4aa075bd", - "0x1c4f90e9eb942ca6a4696a7efd3aa45f3a4fc9e8576d18c95dff999d12bd5fba", - "0x0fe501ab7faba8fe726351d18bb39013221ff7cc0d34e7e8636b2963559e5400", - "0x088ac1334458ef29ce3d969205db12bf3326a80d38a1ee89e86a371bc17c8a6b", + "0x1d6a07f3a88914ec59243014c8eecda552ab76777dd1860fcf2250525ac7b663", + "0x0531ee2f28aa4fd3f1ab64cae849b50b70402681cfee9f6fc567d7b481a8afd7", + "0x06ffa8494b3c899d8037739f83f07cc10778df95cd23eaeeeda6563fb7b49718", + "0x175ed31fa5ee36d26ce661631273cf4656e146bce86bd4557565d103c43ed36f", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x1e9e35608b017f9568274ce7d302fc59e85bb588c44b59855bae0b6596364ac6", + "0x29306401e69183de48ce55c972fdb13d57261372e43b1894ab5d1c00cba45716", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -5352,7 +8373,7 @@ value = "0x00000000000000000000000000000000000000000000021e18aecccebf9f206c" ] [inputs.fee_payer_fee_juice_balance_read_hint.leaf_preimage] - slot = "0x26599f328e161f0a207b32c35117416f0c5b3717a718c1901affc89da47d46a2" - value = "0x00000000000000000000000000000000000000000000021e18aecccebf9f206c" - next_slot = "0x277658932a5ec6c236eb07131b793e2acfd4d6c1170536bcfcbdfcb5eb1a8ae6" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000087" + slot = "0x1f07a4184dea4dfd6e55fe7a932bc0f371515bc2c204f6c0102cd770f7791e9c" + value = "0x00000000000000000000000000000000000000000000021e19e0c2205e5c76a4" + next_slot = "0x1ffec26a7a1c2a5b072eeb143668711e894b25fed4025595d70dd77b993ec066" + next_index = "0x000000000000000000000000000000000000000000000000000000000000007e" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-base-public/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-base-public/Prover.toml index fbf2afa565b5..d99128818da2 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-base-public/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-base-public/Prover.toml @@ -1,53 +1,53 @@ [inputs.tube_data.public_inputs.constants] -vk_tree_root = "0x048e6bd7b9c1bee68207fabe01c023a98b343a54ef593e1931cb25ded7fc5bd8" -protocol_contract_tree_root = "0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423" +vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" +protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" [inputs.tube_data.public_inputs.constants.historical_header] - total_fees = "0x0000000000000000000000000000000000000000000000000031330b0a66bc54" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000003e6e6" + total_fees = "0x00000000000000000000000000000000000000000000000000000015b099d070" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000015991" [inputs.tube_data.public_inputs.constants.historical_header.last_archive] - root = "0x04b19a2b9704f0fdd79af2ab20cc465cba8067b4ace1c2fcf684d9294a443f37" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000005" + root = "0x23520abe588666a33f4a84275f6fefe5f5207d027617374a803fd2e4a0091ec9" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [inputs.tube_data.public_inputs.constants.historical_header.content_commitment] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" - blobs_hash = "0x005d3a589a8e94da5a124b547aaea5338761ab52ec8ffb81b5172cd90ac3022f" + blobs_hash = "0x006a0f5e919dc9288760027e31a1e696774efc08c96b3c1dd43f68ee1b9f6359" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.tube_data.public_inputs.constants.historical_header.state.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000050" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [inputs.tube_data.public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x263f05e22af6bb2956b81d6f8de8d384bde3893253c8e04fc73aa3946147eecf" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" +root = "0x2378e26f2d5c5b2c7ee7fcf1aec841e640a97b3b91bebfcec19c2880e2b59f1e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.tube_data.public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x1ff29c18e0b396c446900d13fdfa93601c41e32feb210e77930dbe5ef7afa0aa" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21c1f687aed091f1a7534122bcd8ed0e39635995c05aaff361144419f56ddc17" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.tube_data.public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x01cd675b23dcd28b8cb36c75b645ea13691ee485576d6c06a5e21fa30a5601ba" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000096" +root = "0x274bc8a03bb0a943d71f8f6384a53d2f4af06d15d97dca32eb6f714a612c6fc6" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" [inputs.tube_data.public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000005" - slot_number = "0x000000000000000000000000000000000000000000000000000000000000000a" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067a0ebc7" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000013" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34871" [inputs.tube_data.public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x000000000000000000000000a6d65a1ad1795526cb63f95cb3685b634407b98c" + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" [inputs.tube_data.public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.tube_data.public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000c9be302ae" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000101170" [inputs.tube_data.public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" @@ -63,15 +63,15 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [inputs.tube_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000012e9d48405" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" [inputs.tube_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.tube_data.public_inputs.rollup_validation_requests.max_block_number._opt] -_is_some = false -_value = "0x0000000000000000000000000000000000000000000000000000000000000000" +_is_some = true +_value = "0x0000000000000000000000000000000000000000000000000000000000000e17" [inputs.tube_data.public_inputs.non_revertible_accumulated_data] note_hashes = [ @@ -141,7 +141,7 @@ note_hashes = [ "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x2cb4c12c94db55803224748d4995ab0b9d0401b167e925408eb57b71f3c5435a", + "0x041df4eab39ca9bcbe3ae5c04ed7cc560b8de2634fda049d521938a5f1b84a30", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -999,433 +999,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000" ] - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes.log_hash] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs]] +[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs.inner] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" +log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data] -note_hashes = [ + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs.inner.log] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1489,9 +1069,6 @@ note_hashes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] -nullifiers = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1555,99 +1132,6 @@ nullifiers = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1665,11 +1149,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1687,11 +1166,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1709,11 +1183,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1731,11 +1200,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1753,11 +1217,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1775,11 +1234,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1797,11 +1251,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1819,11 +1268,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1841,11 +1285,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1863,11 +1302,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1885,11 +1319,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1907,11 +1336,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1929,11 +1353,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1951,11 +1370,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1973,11 +1387,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1995,11 +1404,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -2017,11 +1421,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -2039,11 +1438,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -2061,11 +1455,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -2083,11 +1472,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -2097,3428 +1481,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes.log_hash] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x29448498899e3eaaa4ff071ee2950f9f5b6ebb42af4ee323edfa1362e05c4966" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x2269225dd372f7e0b33082b098987be85ea7236a03df03ef19dbd92926ff848c" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x00000000000000000000000000000000000000000000000000000000d5441b0d" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.public_teardown_call_request] -is_static_call = false -args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.public_teardown_call_request.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.public_teardown_call_request.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.public_teardown_call_request.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.gas_used] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000000400" -l2_gas = "0x0000000000000000000000000000000000000000000000000000000000006500" - -[inputs.tube_data.public_inputs.fee_payer] -inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" - -[inputs.tube_data.proof] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - -[inputs.tube_data.vk_data] -vk_index = "0x0000000000000000000000000000000000000000000000000000000000000004" -vk_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x2b77e1f090f8ac50bbc9fc28db8ea336688cb784041d63878f82f95be843118d", - "0x2f2772438e0d618a93623471f8f0c11320a737162b66f222e2068c3fb27b88fa", - "0x1ee4b31996273eccf6db40c0a6907056b06b370c9d39c9949911b799ca270169", - "0x126bb13ce4b07681f511f3a23d88cb7cfe082a76730abd5b4be5c4da3b5c51fb", - "0x050dc6390aace9c6e873b762c65e7d6a21e78e64e5ad6cc7c8fd5e69315ab5fe" -] - - [inputs.tube_data.vk_data.vk] - key = [ - "0x26bd91b80db5151d459b915ab329b4d11c6eeafe0e97e72386eaed494d751775", - "0x1b8dd927cac755c02d9456bf63e596b59de1a52838ff8bc5763e7c00de011a38", - "0x26df3250508281b9dbb598e2e3cd3f1f476777f6d33a63bc6a4a7175551bcc62", - "0x06f3c11bc68ab447da0a2834ce0981ebb207a315c3d7dfb9e44f817fcc43fa28", - "0x0b65d264e7dccd078748c392eceb533e4b5845a6cb8ef3b976cbc8bfda8c1ac9", - "0x14c0f99b5bdbf994a0f47a91cd5b2681ee99d5be4f514f84ae52b4f3f91f9c19", - "0x2312d0e100e75fd6e710f7d1cb0539e72d4e00ee8ca63b2191d6ef0f40368e1a", - "0x1bc1bd036e24075f60d630d2eb789af63eac2d11468fdb0d9084fb795355f4f5", - "0x24ace110a4355344f76fd44091041100404b7d9dde842084f01498064a919388", - "0x2a8e2178d395174dbd4aa5a9ec5982616094c67d528d017e1e5f162ca132c3dd", - "0x0287c3e9441ac5a8a854e94ffd2b6662b7fac46ae8dc3e967739bdc553a7cc18", - "0x2909625ba37c051482fcb2a6d4b0b881fc0add32a518e9270735141a81879801", - "0x146c771a25ebfc2d3ce817a307725c635045da77ddc0bdca93ebc58b2c575999", - "0x291547f0daa3f8fb20084063c33254ef55d639cce853d950c4e6d72bb5757174", - "0x094c8da4ed92ffb622ae23aefc3af8cd19f923e1154be605b7119bdb5aff46c3", - "0x284bc726e5bc08e3b3fb40aab261900c66175a5cf68a9adaf0a0a8171dfc3ea1", - "0x2512d21f51e6e3802830a9c536c3efd39ce2cd52842d6d58f22e26992a50a5eb", - "0x13c08d379428a2d368747fc901e60e3b43ac60653438ad666f333c763d08920b", - "0x060fc28b4be84ce6eff3bed386e507f8979ab719e77c5ff665a679f52bb3ba2d", - "0x1f80fe039fd28998e2f764e8970a3cccd98d7979f0bcb0c28d0ac0a8c2cf7707", - "0x2df7696fd15bb2042ff9bb29ec8cc58c6590126a683293f7bf515dcf1314cbb3", - "0x09372093410daf79ba5945e518a59d60f775cc91559f737167412419e1e8a82a", - "0x22934541d47ff97063a6a0d69e1d12b8a695a2f163348c8ceed20f7b4401cb4c", - "0x09cb15b2e94258dceea00f9a985fbaeef76b363d3fd04a64a3fb49c0457f0dea", - "0x2a5adbef3a7adcf9612cc8b271d84a8558926b01ae92685db8e3126f9550240b", - "0x293b45bbfc9f1e2663af13f16d17986dd3d0bcf2c93c8cb2e107fb8c94bafb1b", - "0x00763fce24b45259836f8ddfb649e382ef270b91a8dfa2769d78d2fc487f0c8b", - "0x00300372deb5a39be40c9d60268cb20bae5de098e991f55ba3e4a614ddf671eb", - "0x263e3f6b00fa8f60ddf22fbf0d52b13d78e820410eb1af951c01e22ccc244f73", - "0x22fb2b082d541cecae3caa0b9b11dd584a4b20c5c80234a5f665661bbebdbb6a", - "0x1443e617c482645da7d500a89e3fa32b93cbdfcfe7d42fa82f2f04a1e6e6657f", - "0x01eeae7356e7717eb3db51311fc80889d2bb5a175e53f795365bbd1cfe91988b", - "0x21c9c316e002ef671e29db4118c52f359cfb5ea42d61c721eaea7c0f41e4beea", - "0x022369d920581fe330a296bad35997abef23606b57a17b0016c3c93c3ccb3b08", - "0x139aed40053bb41c57426c95dafc6cbfd25e2f43c385907b62d5438db5db32a3", - "0x07571f580597030070341bcca314590d924bfc6929e3ebc63c8babbc7529d15d", - "0x033229c39041873e98c4eb9e8b0cfb7087ed342b880098c0c4140632474a5ba8", - "0x0c7670533834beb760260f94d6a84e3fdebf1923c976146480bea3d4da5cfd2f", - "0x0583748d7c12d509ec41b92b8785f82adad663626a7b39db624c363ec1af6a51", - "0x00c8a2528cdf8505553eac2e7a84ba275f689c0f0e8f1d30310e52860562eccd", - "0x02648fbe372de92acff07992211d4cb3cb888e0a988070db2a27e92060b6620a", - "0x06cd877c062a68f198a5799fb29940f1b2039e4e359325342482d8884aa0f67c", - "0x26c25cba72e271b517ad3c049f08991023fc74f5323fc12480c050e3d0e22bca", - "0x25369fc0a8ec089fc953a9595d84e40028d2bb70659ea6a7114fbf228fb75721", - "0x097316f9f1d51204afb92a26e62eddb6bf5d47fc281b4710dbb4903d7d9db199", - "0x2b7aefbbb7ed80bc5a81400aa5a18a0f35313e2c303d91b470d8b9f411b22fb7", - "0x04418c85aa86c312f089bd2867554237df33ebf40272e9f712aaec92175b3140", - "0x086df016152930ee482bedf8e51a5f6bd1babbd9199e6fa33240b0ccb54a5af1", - "0x1b3f231b19c45208233f89bb7348a34ff97e52bade3c4491477a2c927298fc01", - "0x1ef3d56925dba212212bdcae3fc42fb0282a86af1583fe458bf093faac437655", - "0x1f3f7dca03da8e11c1bfda572977110f9dd7a97ad5cbccbf7826d8e0892fc9b2", - "0x05d64abb087a14394875bcf1b9f36b38f1193a87ee6522755dc47b5527bf43c4", - "0x025d0e12cd2d25694acca0db0b2b6eb9159cd738d6265448c04ad0e7e6ba99ad", - "0x1a274aeb65ab06da14031aa43b3737eddfeb04cd3bd0c47f1a4eab77162d5df6", - "0x1ef48788632ca2df917e33d61bac1d32a90000d692f38888fcd254cca13b0370", - "0x075d8493022d55ff5e6d8ce597e55c1ff941e1a9486e6e82b53c3059dcba07e3", - "0x1131d7db819c97f403f2830605cfee452e1550ac883e5c764bd18e164aa933c3", - "0x05ca28e403fb459fee8bf50f4abd4891482fc318966e6cb4e2f13b3b705d31d4", - "0x02bedb1a6aa45c3d2e45f02a24001696dd4dcfd6f72bdb793cce5df22868726d", - "0x0f8849d7c39967e8443f8a1dc9da3ca693c6b6a9f49eb8d13f6fe0f1612a3565", - "0x1a7703847ca4238f554ec07be9d226d4518746e978bf24ca5f8f07e0a96b369f", - "0x2cb2600f8666649fbf2c4131db49804b97a13a1037fbb270b18285ae3e560a37", - "0x01d11e7ae966e9bbacd0f0768afca8952b4f8c231b3f0b0b407e7913547fa448", - "0x0c39e463df513f6452e9193daf801e5241cffad4648552917dbd8c8a73d8970a", - "0x09d3cf03e4a55f4ed5bb76da7a159f7ba90a2acb22e5eb7a7d4d9ef9da481f06", - "0x281f649f6d07cf7fead741ebd721b074952aaeb874421592b1ab25962c65a120", - "0x0067c824e9d5b3103c0f27447517d98fd2caf420c34d546049590f12a3362a49", - "0x07a3cbb78cae41705b2747cfec6405546218648e9359ccdef78e72f22e121463", - "0x2604a3f36ac6778a015697ca421b47cfa1497fd354da9e1e6bcb7245c6f6ddea", - "0x08572ea80d140660ea5d63710ed602b6b47c171b4115337eb251976fdd671589", - "0x1fdc5c450ac18b51cb36cc6e7a44fe1fdcb7c44014d12362a59b3fe21c6a4dc4", - "0x15c9fa1bf955a77fafb5de26f382d3734f766165b17afa3f13d857612c21f7ec", - "0x24c8ff5791c6fd4960e96a44088734e423f6b58ad62e3207eb849a955345230a", - "0x000efe7396487d95535d01adf9a181a579724ae525ca5a276e07b6c8dee00287", - "0x04175f1658ea2f7cc2325b7a4bf70d4e4b7124799bcd26f9647e723ed8a7518f", - "0x165b81f7b5ed4cde25285cb58aa09a9dbf3af8ada8613d4179eb2ccef6d14549", - "0x0875c761b22a82c51e23979f67d2c4f625cc9ce3f11e832df471662796148a66", - "0x1a43d12531333061c8730eb0b7f018b98c8e2755240ef0971d460ec6acd4b27c", - "0x1cb675c41c3b6def4f2e621e2b74d976bb41829e99c22116e60355effbfa9d6a", - "0x018c54e81acc8ec1d38db4237fd461b5075f2ed949fec6e5b495e71b6a1599d3", - "0x11f9175a3c3ff2365a8bbf0b2246934f4177b6f628c5b2d403da33553ed09dd4", - "0x28e87715956a4934743f0d9a3d64d20218c0082f5be99ef31d129bcd5a793bb7", - "0x101ced94abd7f21da465aea4320b155318471218ec93790ac6a8fdf01764248a", - "0x2fcff60dc8d062eb76173481ab8a2721905eb63fe62741dc6d5d6160d3c9a5d9", - "0x04607684855cedafae48bcc7d445e0bc3fa31daed9d729c74d54467e77657abb", - "0x04b2eb7adcde0e7ce70de8467df97ec3e23a8e186ab74b1421590a931d6c9479", - "0x295bcecb9bf68de1252fceac76d90136a4a7ffc4027da3065fa490832c71955e", - "0x12ae07fc4899474717750712ae3a7887cc90dba054387041d58f75e56e2ed6ec", - "0x13530c27ef877414a10445c514e4ed0ca027d4a85032b651bc8636f8c4196456", - "0x20e73ce80905b8b67e32a43a3584226cf05d58bfe1dd5b069647f0e3dfc4aaa0", - "0x20e10820999383607a59f053564fba4f0b01701b6e6df80139d94224bb8cca62", - "0x2379dbf1653e687867bca6915e63199fb99f7d0421f3c00e5613012f90f2e840", - "0x09f80555f2d7a05f3838726b319cf039ae36fa37ba23fa06fff1c69da83d1379", - "0x1e4afac09400bcdb014d916ffecbef73dd1154da1fabd939f86017ec3560973b", - "0x1f25e67686532e64552b40ca235478d51db140e24c890c45019732b22b1e0c77", - "0x2d396ce3f7b1432357fc476e705a6224bc8171d4d2e14026d6924cb1744f5e7c", - "0x04834069d669e993eb1706720e16fc0ef65cf8f83f822379f7b6acba6c7b5f0a", - "0x1bcfd2208e062ae8fa829f68a1caab5cf4618128e605942bc49803600d0061e4", - "0x0484ee970df58251206b76c2929837397def93e3684484b98bf47bf21c5ce278", - "0x292a36315540cc0e38f2feb31578f348bf7a02398bc34684b124a0841b43dcf5", - "0x2330cac2257790e2fd94e24f2e604c6b78bd7fb14f43ad9c3e37a3a0a5a2182a", - "0x1bff040fa1de695ee30f875d98eab4cfdfc3c11f47e2b7e7cf3ea411f0c5a569", - "0x02175ca7d5c55179f99eb6e917861dcf75eb3fb1fb41c46780b620f72a05f0aa", - "0x27313ea87f60ac0ba38caa015a4c0788cc4cd3743abcf843919338c72433b24c", - "0x2b22fceb46e93c691d3a461ceacf80670ede738a5ca682718ca1048699b6b591", - "0x2d329f682c75f11783a7029fdf7fb7cae1a340769b6a2fd3c0a9b5d8eedef049", - "0x1fa6eecee4412851ee655c64d5b9a8a24ea7aab1e3f42957e17c93abf9285ccc", - "0x0bafc2e9bd9e95a8b854456e42134b0466ba2186dc3b179dc702ee57a21b8fbf", - "0x09655b6c20373f478d0d0a38686b541f92e6a9b0a0a6535c68ab1507a157709e", - "0x19b7a838cf44beecddbe9e1381dcea7209e494b5c00e7ea8d190216310a12c3f", - "0x17da7eac110d6210be1a3cfc10fb57396dda247caa36cb0965d385b0a4c71e29", - "0x26e2b967013c3d4bd776f357ed5a8562d14e36729ed0ed1099824c9db1d0c17b", - "0x2b92537f950f88ab3cb40437eee4a6f57a5b9bfc2399239aadf63f632eb176cb", - "0x04d1136be50c654ab359c77446f8638c5acddb86953ac1e9772b240f1e045d81", - "0x241d48ee512eb573c28d77de8b2d4c0df1bde3259e81178606c9438700e3d21d", - "0x2a7cec0776d0e9292cf68e9706a4f692a0fac5acc52edb71e7a55c9ee780b306", - "0x11f190dcd63126ee76fb9644b110bdf6657c1837e75d904f475493997fdfe1f3", - "0x04781d7e5a587373596013c54ad8b76fa12be66b456621580cd939d82688f5d8", - "0x0111fa67b86fea5ae231939a1e192136a13d799cff186842a697c64d9eb2b52d", - "0x28cb727c86b01509233e982ec5f2d840f89f53162f9bfdd83c4808a29f15bf09", - "0x0d265f5948bd836c0739a15ef0d7ffb91decba209a198e8a81e6eca4b3817576", - "0x184fd3670c857a737f46595b8d5f22190554033160e248969921dbf9755ab97a", - "0x18c0746001ece819aa561c5253383c78deabe6b8e43905ba568a98fbc4b15fbb", - "0x1eb313149dbed86d5d979f554611a68df89c53a4ace8715a889f2c92b353ccdb", - "0x004d6f5aeb386796864aa5d314ab608d4c99a2fe72e18dead127ebf56fc97869", - "0x305724c8040e4155fa3f14c3c3a9fded89e30338734ac6b1ecc5daf3fa9886a4", - "0x0fe70f40b853335ac371c5168321927c053f7f884fb0bcdca6f29c6955bea372", - "0x1d15aba750be26d312f35a36d7ed2658d73c65ac38970bbadba351d2fba545f1", - "0x274451f099016007ebb4fac4dd4929f1c4853bcb450fe140014a3f3e939fedc7", - "0x0036d0e6846cf7a083c9680aeae473446ef6390546057ac91fd0bd7728d19586", - "0x20126f03c9cc5370b68e6a649c6dbb3c863e6965e5690c0134157d36b0a083aa", - "0x1a3090ff3130708a609fb0515708e692e5fb392ec9dcd8d306b1dfdd02816784", - "0x24e5cdbd9ef6a944d7f81c0965a29e6a4a5da4858394fb2cc88b5feb52d0f161", - "0x1792a4a618617047a5927d26fe6a03a64759f53ccc9d9d9ec58ba01ec285f5d2", - "0x2e76ccf67d5e8006e4c1aff6dfc7eda0a71275e42e8ac84f4ef50732cf5d5e3a", - "0x15bba33d94ad939d7c15f9648fa9914ec1be82e717537b7714d51734ad0111ab", - "0x2bf643fd632eb0da929b73e8936bec6988029cd4e19425f7a68c8fe271283c7b", - "0x24bac2991f7c3e9a746b488ab7c4e7e9c549a8c6db4a1ac6d117f47e25767886", - "0x274a2a04dc4dec9559ee38126921c9f75491b2bc34386dbe5a3896dfc3b19e2c" -] - hash = "0x26a156d7dff9738d14d18bbdd97ddde7ca8e5e330ef0e6338eef607842f175fe" - -[inputs.avm_proof_data.public_inputs] -transaction_fee = "0x00000000000000000000000000000000000000000000000000111fe21ac076a0" -reverted = false - - [inputs.avm_proof_data.public_inputs.global_variables] - chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000015" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067a0eccf" - - [inputs.avm_proof_data.public_inputs.global_variables.coinbase] - inner = "0x000000000000000000000000a6d65a1ad1795526cb63f95cb3685b634407b98c" - - [inputs.avm_proof_data.public_inputs.global_variables.fee_recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.global_variables.gas_fees] - fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000c9bd2fa9e" - -[inputs.avm_proof_data.public_inputs.start_tree_snapshots.l1_to_l2_message_tree] -root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" - -[inputs.avm_proof_data.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x2dfb2e7fac4613c43def7c7f8a55fc15632c6f3d16241be420b915b7ce2493aa" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" - -[inputs.avm_proof_data.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x2a3b74294d2fd42b879553a610e47157f2f12914953d6e200638321392e3cf2d" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" - -[inputs.avm_proof_data.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x076b5935a18aad50f2b0d3fafbc5358c19a73030e346c33d3b8773b29c6c4a49" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000097" - - [inputs.avm_proof_data.public_inputs.start_gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000000400" - l2_gas = "0x0000000000000000000000000000000000000000000000000000000000006500" - -[inputs.avm_proof_data.public_inputs.gas_settings.gas_limits] -da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" -l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" - -[inputs.avm_proof_data.public_inputs.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" - -[inputs.avm_proof_data.public_inputs.gas_settings.max_fees_per_gas] -fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000012e9d48405" - -[inputs.avm_proof_data.public_inputs.gas_settings.max_priority_fees_per_gas] -fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.fee_payer] - inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x29448498899e3eaaa4ff071ee2950f9f5b6ebb42af4ee323edfa1362e05c4966" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0739aa78c2b89115fa6a6f888f6afeadbce0e2ec3196b098ab8b1d864da54252" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x2269225dd372f7e0b33082b098987be85ea7236a03df03ef19dbd92926ff848c" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x00000000000000000000000000000000000000000000000000000000d5441b0d" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_teardown_call_request] - is_static_call = false - args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_teardown_call_request.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_teardown_call_request.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.public_teardown_call_request.function_selector] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data_array_lengths] - note_hashes = "0x0000000000000000000000000000000000000000000000000000000000000000" - nullifiers = "0x0000000000000000000000000000000000000000000000000000000000000001" - l2_to_l1_msgs = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data_array_lengths] - note_hashes = "0x0000000000000000000000000000000000000000000000000000000000000000" - nullifiers = "0x0000000000000000000000000000000000000000000000000000000000000000" - l2_to_l1_msgs = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data] - note_hashes = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - nullifiers = [ - "0x2cb4c12c94db55803224748d4995ab0b9d0401b167e925408eb57b71f3c5435a", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data] - note_hashes = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - nullifiers = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.end_tree_snapshots.l1_to_l2_message_tree] -root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" - -[inputs.avm_proof_data.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x2dfb2e7fac4613c43def7c7f8a55fc15632c6f3d16241be420b915b7ce2493aa" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" - -[inputs.avm_proof_data.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x0632b7fa6bf3c4f4f407b05d6e0cec542e5fe3746fd540889398d8241f4ef29d" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" - -[inputs.avm_proof_data.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x2b5c4355e2a7190d07d1c75e62f181051e8802989f178a072cbac1409cc5e4d1" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000097" - - [inputs.avm_proof_data.public_inputs.end_gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000000800" - l2_gas = "0x0000000000000000000000000000000000000000000000000000000000015bb0" - - [inputs.avm_proof_data.public_inputs.accumulated_data] - note_hashes = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - nullifiers = [ - "0x2cb4c12c94db55803224748d4995ab0b9d0401b167e925408eb57b71f3c5435a", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] -fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x2f07d412d3983d70f390337ced53468c83dbdecc013d629ffbbf6b33d5ae0cf7" - value = "0x0000000000000000000000000000000000000000000000000000000000001f40" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x01f9a76f455f862131271354da2c58a222dfc21587f39a1a9dfcc3879b4b9c2c" - value = "0x00000000000000000000000000000000000000000000000000000000000007d0" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x26599f328e161f0a207b32c35117416f0c5b3717a718c1901affc89da47d46a2" - value = "0x00000000000000000000000000000000000000000000021e187dca1e3c31e130" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.avm_proof_data.proof] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8062,6 +4024,430 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + +[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data] +note_hashes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8125,6 +4511,9 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] +nullifiers = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8188,6 +4577,99 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8205,6 +4687,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8222,6 +4709,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8239,6 +4731,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8256,6 +4753,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8273,6 +4775,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8290,6 +4797,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8307,6 +4819,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8324,6 +4841,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8341,6 +4863,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8358,6 +4885,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8375,6 +4907,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8392,6 +4929,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8409,6 +4951,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8426,6 +4973,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8443,6 +4995,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8460,6 +5017,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8477,6 +5039,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8494,6 +5061,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8511,6 +5083,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8528,6 +5105,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8545,6 +5127,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8562,6 +5149,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8579,6 +5171,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8596,6 +5193,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8613,6 +5215,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8630,6 +5237,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8647,6 +5259,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8664,6 +5281,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8681,6 +5303,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8698,6 +5325,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8715,6 +5347,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -8732,6 +5369,30 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs]] +[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +log_size = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -9672,145 +6333,11 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - -[inputs.avm_proof_data.vk_data] -vk_index = "0x0000000000000000000000000000000000000000000000000000000000000005" -vk_path = [ - "0x00da862b2515015fbe271dab99ccccc39fb174fd9faf50bc34521b435e116698", - "0x2b77e1f090f8ac50bbc9fc28db8ea336688cb784041d63878f82f95be843118d", - "0x2f2772438e0d618a93623471f8f0c11320a737162b66f222e2068c3fb27b88fa", - "0x1ee4b31996273eccf6db40c0a6907056b06b370c9d39c9949911b799ca270169", - "0x126bb13ce4b07681f511f3a23d88cb7cfe082a76730abd5b4be5c4da3b5c51fb", - "0x050dc6390aace9c6e873b762c65e7d6a21e78e64e5ad6cc7c8fd5e69315ab5fe" -] - - [inputs.avm_proof_data.vk_data.vk] - key = [ - "0x0ae51332b31a96b10129b67414c1501c23c145a93a586a7a33a5a9bf0e410943", - "0x125b0231d2cb3cedea55af70ff1172fc79e47dcde5b4145effaa42c2aef956eb", - "0x28b3a65e6bc93378e118fcffc1239b7083b21ff7c9739475293c03b77baeecfc", - "0x23b17f97c6311c8aeecbe1ce3403f033b9ebc4fc0c5d54e9325bf875085c4cc3", - "0x124a28e9a60be12661e6d83edb5bfad973ab4fcfbb5794c9636bbe68ffa0dcb5", - "0x1a0cfb368aa130a86a93bb1c2b01df533cd9597f549add9e9e9b9d901aadef50", - "0x0aa70d4a70d4d26018bbbb10bc44f56087465cbbf3538f6f278d64584b7c34f4", - "0x1a0c68db4644b817c7867965e9c6238ba4126497b48c953789e321048f06231b", - "0x1c8ea739e0e0a1bee53bf2fa22023efaa3b7e1b62827c590bdbc5f39136d4824", - "0x13dd5859ceed41ee56ccaea4950439b95f196825009e8b58a9855664161f95a4", - "0x0c5f6e436e4351883f9bbca0215a1a2e27ef27f79da5df77f66a90b90ac570c0", - "0x0ee27603a342e1d12f6887b2b21774c2afa5949c7bf1cfa1850c146936ecedab", - "0x2f72d61c654d611d3a4a77f81505c81d1b953f7b1bf6a18946f4452ffb06ed99", - "0x2d7a10bf783d162eac978803594af171c0d1ab6c31443b664606bf50b77c9724", - "0x035694bb2487a921513978e71d7451ec7c9806c45a812c568bd078d78c01daa8", - "0x12256f2276e663377a62f7e4a4bf70b95a453b98caaa0a148693ec31d317a360", - "0x28fbb3053bbcf5f94948936f537dd38eb3491b2fa172f544845f7e1203119206", - "0x2b2478ccb27d9bbd33185376d0dc538bab25b967c5c20c980f81f424fa891db9", - "0x2431debfd99fc17a1a8bab0613d47bbba321273dd349fe236e49ac6197f069b0", - "0x1931b5e8e351b20f6ee054571cd879203e7ad81882de26e3cda1b04546f15437", - "0x1ab0979a8905cfff871cbc70c0fc22c10fce38160b581f9afc1b2e6500345cb5", - "0x2809774c97039c7ed00d27a8eedc25bab4c11c02ff9512461a7d98860945c520", - "0x05b0a66c5ac3b7d3d3fda780438ce9c1682f99cb41fab88299fee602028615a6", - "0x2ad9813b7d861d11d99822fd7dcc45615be171d56d7b3691e29cfcf65fbbc050", - "0x0475f9b7af927806761facdbf7447da4a99c5bb27fe021e4abd9797e6b485add", - "0x0f2d3fb5a12432dbdcbf404ec013190d4eb70e3935e903361539806d3a0c760c", - "0x07c79df44f4e585161a66e1c9c05b3d377a8ca8ddfe162bd59ca7c430f3d98e7", - "0x0eecc65127352e66379f8180421bc86ac54fa41e54d3989cf082907bb05d2c99", - "0x12ad68b68777c9bfc86d7d3a561715e9d4d580ee75a4d620aa0d7280c5f326ad", - "0x04cc7b15cebfa7e434df2cf4b29d7b15b45354563d315cff34700b02948ebeda", - "0x2990b1943558eaab05225ba252db0519a0f4f9037700166d7ad28785ec6d9e1f", - "0x2cd0e886bac00c4982236c092992000afe17146ea82ce46a3533fdc7ddfec400", - "0x2153deadacbe8f969ea0ea0df3f6d9c88c87835514d0bd1f1af92743988d7a1c", - "0x290a97bcad6ce5029a750f74534b7b9b73bb0cb4ebe994d511fbf88d6a0ee070", - "0x1ccd95804afa4fffba3ce252998c9f2952a35eaedf4b2f4965990e48832bc76b", - "0x17ca09496ea9fdbe4da5f9f4605a65229712156ebe0b76c5222ef6951c03a909", - "0x1945e53b4002016ddee9985e97cd8bd508337db42aa66250d2169084213e9c1e", - "0x1eec8a453c3f8727f70a88aed0cdc185d97f4a200e484c8b31fbb2c009bc677d", - "0x1bd66a2dc0b27f7ab5bbf4dc07abe54465137cbefb9d045120a4d97144df8ef2", - "0x27144b37f7e3c4c4195de965a078bd52a6d32cf92fcd75d57a0654c08e8ec84d", - "0x119e50a7c0a715d7e1777243079663a98fe8e9a7406e4127b89a05428c05c815", - "0x1e8a692b5535134dd7f0c73818c61ab14773fe884c2e07f25dbf01d59a685bfa", - "0x201794903f64f7ae05b76b787fcf433acad2b7e91962619313d85c7cde558f69", - "0x0a41a52ea8a77e1aa0e97d4e91e7aaa881b0f681a1c2dfc5b33625fb9296b4f1", - "0x134520cd80acbcae6845e1a502cbde75520377a953336e4b88ccccb09ad4c736", - "0x28c7d120e6f10e0377f2008c58a84acbff2d41c504d076709fcca905d7b5edb9", - "0x272a8ffa0c543d87f3b39c970512ac3e1c8d58e112f1796e821581d36e405a46", - "0x1133701c6f9790a773a0a1a09dc18a30366f5fa17b5759e4302941fba7e95452", - "0x02b2fef224dffc5db62c6b275de8b0b3e68881e7dbee308c0ad08a54612787fc", - "0x0ece9b2b188d36d9a4887f3fac9d7333bdd417c44e41dd11adf7e9d7760b6b7d", - "0x0f53c5c5195ddbcd36c5c93028c194bfb355ce50892846b52c2934b3d873dd05", - "0x054a925c0c96ab114db60c74ab2ef5433f4025e16d2e4dbbdd88e594efbc6a89", - "0x0e0fc31105c5df15fdd2dd028fead7c0e62b1b00927d412bd0862826c094d312", - "0x2b97817b9a70cfd1f31c84c0aa3df2c9981814fb658c99083a4f142b5e7aa284", - "0x1e78611bbf5d494c6de1cc521f1cf59163f796e28a09d8b0f8901fbeea86f19e", - "0x18d1d656df9b136033ef6e95204ab22dad99ed143d78faf4d44519745e6c9f9d", - "0x264a1265dd5b96d26d5e298780f4b3e4beef964894f2e97c40c0d658a7829033", - "0x248c2f59e151df9f8ca919d61a0435ca518857cdc01d24cf1ece2b9d236ce72b", - "0x2122f709ce8e298b455c3215d4daa793b5d7961ec02fd584097838f32db8c8db", - "0x0c4ae4e7331d7c2d3aa5ad1c432af44fc7815fcec3caee4a58f11e75d80f2d92", - "0x23676230ad03c3af615973ce82404f8b5ade22a3ebc7c0ff4a122275707ab141", - "0x18234f35db309870381dd0198b8ca50387aaa0aed64272ee5220f2565abc7051", - "0x17be5287fc5734d657d0dde3e60d4bac1afd838e62edbfe53bace27fff75abca", - "0x20feb3a91787d22193788886b3946316aae8a0e783ce5d9930066bf71f156e94", - "0x189a0aa79b0e4e0735243ec07f923c299f709ce828ebc082c0a3be14cb30c6de", - "0x08bf0ead5676a5812074a466a30016cd7d5624344e92ce9b15bb7380db3b914b", - "0x2d7838cea8a75709c57c4a1604ee5be5d857f1c17236fc3998f82ca81bc174f6", - "0x23329669c915263ad4e3aa90e431bad963ae8b65f4088b22d0333b9f31cb58fe", - "0x044c0bdf75e1fe6376b98839da309b935f57e2d252dd6be0b0f96647822b27ef", - "0x2dd5f8505ca4ee0be8da3c09e2ce9cfbfadd6a44e22728f56ba1d9b10aa0b216", - "0x2a04bab3ab7bf74fb3cdf3190d1a42a999364d1361fe5b90d8a120b9751d962f", - "0x1f799fa6a84e8456c1042908f5cff4fa887503f47613982d156747ffbaf84b5b", - "0x248622146dc4350edde1333a76071fe6e65252a6cc7135102230a4cd1b2e6e14", - "0x26a5c045cae54265cac8bd3e123ea53c6f5b4a6b9a4af378dce04a700e2a738c", - "0x2729a99d469420fd6a6ecf5792ca558f73974156b27d51e760d9a6451a525634", - "0x1c9d978f22cc22db24449236d4593f5c327d34c36d8f67091b5647a517cffe65", - "0x0f7a2e1037287fea7f1a0c73a22bf18ec32935b762dce739569630ca99dbbb08", - "0x0d27645b5238a2c3599309955128dfad519a374c61d62f5318881b47b497c534", - "0x0aa7ca8d6f23ad39da941ba357b2c8611abc3d8b50abac7e5cf33d8bf313cab3", - "0x20a8d9ae2464fedd905f0062eb4207e496b1232bb9bd09f7689bda8faa143d8f", - "0x05992335548a58703bbd13e4ea68c16de34185ab9438527ef2b228af6091bf74", - "0x0ba193d531ac41ef03fcdc99d6e3d87c351abd00a3f9a46e4d36d106d9edd506", - "0x300869b624ae241464ef084ddfe7aba83c6ca2602887f4055f0dd857a42b90ca", - "0x159f24b54d78e54de87fe457856c5d79dd75c0a45284b742963788a5ce7a1494", - "0x0962c224f06d04d18d1f64841e5194343c9da1e11f88d8b26ef112b87d6663b6", - "0x256c2f741ba1e344adc865a912ec45796811344bf3fd3636226ea9e7dc73f807" -] - hash = "0x281c0646db17a4f95e1dd0b8bdfbf4f57ea92134b0165198cf219ebfaa5ca984" - -[inputs.start.note_hash_tree] -root = "0x2dfb2e7fac4613c43def7c7f8a55fc15632c6f3d16241be420b915b7ce2493aa" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" - -[inputs.start.nullifier_tree] -root = "0x2a3b74294d2fd42b879553a610e47157f2f12914953d6e200638321392e3cf2d" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" - -[inputs.start.public_data_tree] -root = "0x076b5935a18aad50f2b0d3fafbc5358c19a73030e346c33d3b8773b29c6c4a49" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000097" - -[inputs.start_sponge_blob] -fields = "0x0000000000000000000000000000000000000000000000000000000000000000" -expected_fields = "0x000000000000000000000000000000000000000000000000000000000000000c" - - [inputs.start_sponge_blob.sponge] - cache = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - state = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000000000000000000000c0000000000000000" -] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000000" - squeeze_mode = false - -[inputs.state_diff_hints] -sorted_nullifiers = [ - "0x2cb4c12c94db55803224748d4995ab0b9d0401b167e925408eb57b71f3c5435a", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -9873,148 +6400,7 @@ sorted_nullifiers = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] -sorted_nullifier_indexes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x0000000000000000000000000000000000000000000000000000000000000016", - "0x0000000000000000000000000000000000000000000000000000000000000017", - "0x0000000000000000000000000000000000000000000000000000000000000018", - "0x0000000000000000000000000000000000000000000000000000000000000019", - "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x000000000000000000000000000000000000000000000000000000000000001b", - "0x000000000000000000000000000000000000000000000000000000000000001c", - "0x000000000000000000000000000000000000000000000000000000000000001d", - "0x000000000000000000000000000000000000000000000000000000000000001e", - "0x000000000000000000000000000000000000000000000000000000000000001f", - "0x0000000000000000000000000000000000000000000000000000000000000020", - "0x0000000000000000000000000000000000000000000000000000000000000021", - "0x0000000000000000000000000000000000000000000000000000000000000022", - "0x0000000000000000000000000000000000000000000000000000000000000023", - "0x0000000000000000000000000000000000000000000000000000000000000024", - "0x0000000000000000000000000000000000000000000000000000000000000025", - "0x0000000000000000000000000000000000000000000000000000000000000026", - "0x0000000000000000000000000000000000000000000000000000000000000027", - "0x0000000000000000000000000000000000000000000000000000000000000028", - "0x0000000000000000000000000000000000000000000000000000000000000029", - "0x000000000000000000000000000000000000000000000000000000000000002a", - "0x000000000000000000000000000000000000000000000000000000000000002b", - "0x000000000000000000000000000000000000000000000000000000000000002c", - "0x000000000000000000000000000000000000000000000000000000000000002d", - "0x000000000000000000000000000000000000000000000000000000000000002e", - "0x000000000000000000000000000000000000000000000000000000000000002f", - "0x0000000000000000000000000000000000000000000000000000000000000030", - "0x0000000000000000000000000000000000000000000000000000000000000031", - "0x0000000000000000000000000000000000000000000000000000000000000032", - "0x0000000000000000000000000000000000000000000000000000000000000033", - "0x0000000000000000000000000000000000000000000000000000000000000034", - "0x0000000000000000000000000000000000000000000000000000000000000035", - "0x0000000000000000000000000000000000000000000000000000000000000036", - "0x0000000000000000000000000000000000000000000000000000000000000037", - "0x0000000000000000000000000000000000000000000000000000000000000038", - "0x0000000000000000000000000000000000000000000000000000000000000039", - "0x000000000000000000000000000000000000000000000000000000000000003a", - "0x000000000000000000000000000000000000000000000000000000000000003b", - "0x000000000000000000000000000000000000000000000000000000000000003c", - "0x000000000000000000000000000000000000000000000000000000000000003d", - "0x000000000000000000000000000000000000000000000000000000000000003e", - "0x000000000000000000000000000000000000000000000000000000000000003f" -] -note_hash_subtree_sibling_path = [ - "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x1db1066cf8999e567f5104cd50a37efc344fa4cf91d94ee97158abf8f11dec60", - "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x2e1c53e60dab942acce000436b5f9c581b19ed25827ca74974a704c643a7b9b4", - "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", - "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", - "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", - "0x1c4954081e324939350febc2b918a293ebcdaead01be95ec02fcbe8d2c1635d1", - "0x0197f2171ef99c2d053ee1fb5ff5ab288d56b9b41b4716c9214a4d97facc4c4a", - "0x2b9cdd484c5ba1e4d6efcc3f18734b5ac4c4a0b9102e2aeb48521a661d3feee9", - "0x14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3", - "0x071d7627ae3b2eabda8a810227bf04206370ac78dbf6c372380182dbd3711fe3", - "0x2fdc08d9fe075ac58cb8c00f98697861a13b3ab6f9d41a4e768f75e477475bf5", - "0x20165fe405652104dceaeeca92950aa5adc571b8cafe192878cba58ff1be49c5", - "0x1c8c3ca0b3a3d75850fcd4dc7bf1e3445cd0cfff3ca510630fd90b47e8a24755", - "0x1f0c1a8fb16b0d2ac9a146d7ae20d8d179695a92a79ed66fc45d9da4532459b3", - "0x038146ec5a2573e1c30d2fb32c66c8440f426fbd108082df41c7bebd1d521c30", - "0x17d3d12b17fe762de4b835b2180b012e808816a7f2ff69ecb9d65188235d8fd4", - "0x0e1a6b7d63a6e5a9e54e8f391dd4e9d49cdfedcbc87f02cd34d4641d2eb30491", - "0x09244eec34977ff795fc41036996ce974136377f521ac8eb9e04642d204783d2", - "0x1646d6f544ec36df9dc41f778a7ef1690a53c730b501471b6acd202194a7e8e9", - "0x064769603ba3f6c41f664d266ecb9a3a0f6567cd3e48b40f34d4894ee4c361b3", - "0x1595bb3cd19f84619dc2e368175a88d8627a7439eda9397202cdb1167531fd3f", - "0x2a529be462b81ca30265b558763b1498289c9d88277ab14f0838cb1fce4b472c", - "0x0c08da612363088ad0bbc78abd233e8ace4c05a56fdabdd5e5e9b05e428bdaee", - "0x14748d0241710ef47f54b931ac5a58082b1d56b0f0c30d55fb71a6e8c9a6be14", - "0x0b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d", - "0x2c45bb0c3d5bc1dc98e0baef09ff46d18c1a451e724f41c2b675549bb5c80e59", - "0x121468e6710bf1ffec6d0f26743afe6f88ef55dab40b83ca0a39bc44b196374c", - "0x2042c32c823a7440ceb6c342f9125f1fe426b02c527cd8fb28c85d02b705e759", - "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0f55a0d491a9da093eb999fa0dffaf904620cbc78d07e63c6f795c5c7512b523", - "0x21849764e1aa64b83a69e39d27eedaec2a8f97066e5ddb74634ffdb11388dd9a", - "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -] -nullifier_subtree_sibling_path = [ - "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", - "0x296e73b90daf66f024e1e7d4d16593589aba3398894c19c4a384a332b2d0b2d6", - "0x2d1c8ee22781febaeba8413baaa536e55f68faef0ead35c6510409a945e56002", - "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", - "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", - "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", - "0x1c4954081e324939350febc2b918a293ebcdaead01be95ec02fcbe8d2c1635d1", - "0x0197f2171ef99c2d053ee1fb5ff5ab288d56b9b41b4716c9214a4d97facc4c4a", - "0x2b9cdd484c5ba1e4d6efcc3f18734b5ac4c4a0b9102e2aeb48521a661d3feee9", - "0x14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3", - "0x071d7627ae3b2eabda8a810227bf04206370ac78dbf6c372380182dbd3711fe3", - "0x2fdc08d9fe075ac58cb8c00f98697861a13b3ab6f9d41a4e768f75e477475bf5", - "0x20165fe405652104dceaeeca92950aa5adc571b8cafe192878cba58ff1be49c5", - "0x1c8c3ca0b3a3d75850fcd4dc7bf1e3445cd0cfff3ca510630fd90b47e8a24755", - "0x1f0c1a8fb16b0d2ac9a146d7ae20d8d179695a92a79ed66fc45d9da4532459b3", - "0x038146ec5a2573e1c30d2fb32c66c8440f426fbd108082df41c7bebd1d521c30", - "0x17d3d12b17fe762de4b835b2180b012e808816a7f2ff69ecb9d65188235d8fd4", - "0x0e1a6b7d63a6e5a9e54e8f391dd4e9d49cdfedcbc87f02cd34d4641d2eb30491", - "0x09244eec34977ff795fc41036996ce974136377f521ac8eb9e04642d204783d2", - "0x1646d6f544ec36df9dc41f778a7ef1690a53c730b501471b6acd202194a7e8e9", - "0x064769603ba3f6c41f664d266ecb9a3a0f6567cd3e48b40f34d4894ee4c361b3", - "0x1595bb3cd19f84619dc2e368175a88d8627a7439eda9397202cdb1167531fd3f", - "0x2a529be462b81ca30265b558763b1498289c9d88277ab14f0838cb1fce4b472c", - "0x0c08da612363088ad0bbc78abd233e8ace4c05a56fdabdd5e5e9b05e428bdaee", - "0x14748d0241710ef47f54b931ac5a58082b1d56b0f0c30d55fb71a6e8c9a6be14", - "0x0b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d", - "0x2c45bb0c3d5bc1dc98e0baef09ff46d18c1a451e724f41c2b675549bb5c80e59", - "0x121468e6710bf1ffec6d0f26743afe6f88ef55dab40b83ca0a39bc44b196374c", - "0x2042c32c823a7440ceb6c342f9125f1fe426b02c527cd8fb28c85d02b705e759", - "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0f55a0d491a9da093eb999fa0dffaf904620cbc78d07e63c6f795c5c7512b523", - "0x21849764e1aa64b83a69e39d27eedaec2a8f97066e5ddb74634ffdb11388dd9a", - "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -] -public_data_tree_sibling_paths = [ - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10054,9 +6440,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10096,9 +6479,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10138,9 +6518,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10180,9 +6557,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10222,9 +6596,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10264,9 +6635,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10306,9 +6674,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10348,9 +6713,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10390,9 +6752,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10432,9 +6791,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10474,9 +6830,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10516,9 +6869,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10558,9 +6908,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10600,9 +6947,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10642,9 +6986,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10684,9 +7025,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10726,9 +7064,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10768,9 +7103,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10810,9 +7142,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10852,9 +7181,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10894,9 +7220,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10936,9 +7259,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -10978,9 +7298,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11020,9 +7337,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11062,9 +7376,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11104,9 +7415,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11146,9 +7454,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11188,9 +7493,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11230,9 +7532,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11272,9 +7571,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11314,9 +7610,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11356,9 +7649,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11398,9 +7688,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11440,9 +7727,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11482,9 +7766,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11524,9 +7805,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11566,9 +7844,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11608,9 +7883,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11650,9 +7922,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11692,9 +7961,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11734,9 +8000,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11776,9 +8039,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11818,9 +8078,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11860,9 +8117,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11902,9 +8156,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11944,9 +8195,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -11986,9 +8234,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12028,9 +8273,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12070,9 +8312,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12112,9 +8351,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12154,9 +8390,487 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + +[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x21066ff97642afbdaa0356c1f4ddc58b6e7d3d5b5daf2e9e7a814e6fe8de89c5" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x13ce6e12aee9046b7e1d8c0753ddfe92b2d2c01a1e64c8335cc522c1592be269" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x00000000000000000000000000000000000000000000000000000000d5441b0d" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.public_teardown_call_request] +is_static_call = false +args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.tube_data.public_inputs.public_teardown_call_request.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.tube_data.public_inputs.gas_used] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000000400" +l2_gas = "0x0000000000000000000000000000000000000000000000000000000000006500" + +[inputs.tube_data.public_inputs.fee_payer] +inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" + +[inputs.tube_data.proof] +fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12196,9 +8910,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12238,9 +8949,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12280,9 +8988,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12322,9 +9027,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12364,9 +9066,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12406,9 +9105,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12448,9 +9144,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12490,9 +9183,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12532,9 +9222,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12574,9 +9261,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12616,9 +9300,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12658,9 +9339,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -], - [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -12702,436 +9380,1079 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] + +[inputs.tube_data.vk_data] +vk_index = "0x0000000000000000000000000000000000000000000000000000000000000004" +vk_path = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x223063c72cef9fc3d51ebd312aed0da97aa4e3d5f71ed4b3cbaeb8010bb06466", + "0x16d7a826947f99f5da063c1a57a8d32e7bfbe10855090bed66c1d719f9dd8680", + "0x1ed25a38cd9d04ab5b82e40e8df5203e8601022abfa3f35de954bae2f5ab9434", + "0x0480e0c2f2c5c4c9096c1dbec900df8718ee5052ec59e04e9c94e7a43eb19139", + "0x00024db01ec2c08872cd46506dfd04762a0498b62b0d619a766a5aedc5c89c6a" ] - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x2b26ededab40a19a863d9a82fa2b3c45163550f1d492b14b53e6c5da6200e215" - next_nullifier = "0x2ddc0778fbcb0b9571ab08ed97b809ddf2dc0be76a62824e1afd67333fe4f1f7" - next_index = "0x00000000000000000000000000000000000000000000000000000000000000c0" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "257" - sibling_path = [ - "0x0e899c2d4e06e4be4c613906eca287c85c7e7db2d65d576a10b4ae859a6ee2e9", - "0x1fed9a23872b418e24e9b357feda17940c31fed3fdfa5ef8f56fefdc3b241343", - "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", - "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", - "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x0378cd071afd07958b152d6ea60a3b6dcb2299821b34e847adea5a8df77ec9c2", - "0x0a33a833ec1d8d9f46a6c74447380c4bd5404920a26d13a033f7d91b7e03c38d", - "0x0216505bb84ac2147df7be035a893f1f12bbd627dba4de5ef82430e36fc1ba84", - "0x08c8daa11ad80b30603aac8aa7fe2411adc31423871c782f3903166748dd9d77", - "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", - "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", - "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", - "0x1c4954081e324939350febc2b918a293ebcdaead01be95ec02fcbe8d2c1635d1", - "0x0197f2171ef99c2d053ee1fb5ff5ab288d56b9b41b4716c9214a4d97facc4c4a", - "0x2b9cdd484c5ba1e4d6efcc3f18734b5ac4c4a0b9102e2aeb48521a661d3feee9", - "0x14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3", - "0x071d7627ae3b2eabda8a810227bf04206370ac78dbf6c372380182dbd3711fe3", - "0x2fdc08d9fe075ac58cb8c00f98697861a13b3ab6f9d41a4e768f75e477475bf5", - "0x20165fe405652104dceaeeca92950aa5adc571b8cafe192878cba58ff1be49c5", - "0x1c8c3ca0b3a3d75850fcd4dc7bf1e3445cd0cfff3ca510630fd90b47e8a24755", - "0x1f0c1a8fb16b0d2ac9a146d7ae20d8d179695a92a79ed66fc45d9da4532459b3", - "0x038146ec5a2573e1c30d2fb32c66c8440f426fbd108082df41c7bebd1d521c30", - "0x17d3d12b17fe762de4b835b2180b012e808816a7f2ff69ecb9d65188235d8fd4", - "0x0e1a6b7d63a6e5a9e54e8f391dd4e9d49cdfedcbc87f02cd34d4641d2eb30491", - "0x09244eec34977ff795fc41036996ce974136377f521ac8eb9e04642d204783d2", - "0x1646d6f544ec36df9dc41f778a7ef1690a53c730b501471b6acd202194a7e8e9", - "0x064769603ba3f6c41f664d266ecb9a3a0f6567cd3e48b40f34d4894ee4c361b3", - "0x1595bb3cd19f84619dc2e368175a88d8627a7439eda9397202cdb1167531fd3f", - "0x2a529be462b81ca30265b558763b1498289c9d88277ab14f0838cb1fce4b472c", - "0x0c08da612363088ad0bbc78abd233e8ace4c05a56fdabdd5e5e9b05e428bdaee", - "0x14748d0241710ef47f54b931ac5a58082b1d56b0f0c30d55fb71a6e8c9a6be14", - "0x0b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d", - "0x2c45bb0c3d5bc1dc98e0baef09ff46d18c1a451e724f41c2b675549bb5c80e59", - "0x121468e6710bf1ffec6d0f26743afe6f88ef55dab40b83ca0a39bc44b196374c", - "0x2042c32c823a7440ceb6c342f9125f1fe426b02c527cd8fb28c85d02b705e759", - "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0f55a0d491a9da093eb999fa0dffaf904620cbc78d07e63c6f795c5c7512b523", - "0x21849764e1aa64b83a69e39d27eedaec2a8f97066e5ddb74634ffdb11388dd9a", - "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -] + [inputs.tube_data.vk_data.vk] + key = [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x0000000000000000000000000000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000019", + "0x000000000000000000000000000000000000000000000000000000000000001a", + "0x000000000000000000000000000000000000000000000000000000000000001b", + "0x000000000000000000000000000000000000000000000000000000000000001c", + "0x000000000000000000000000000000000000000000000000000000000000001d", + "0x000000000000000000000000000000000000000000000000000000000000001e", + "0x000000000000000000000000000000000000000000000000000000000000001f", + "0x0000000000000000000000000000000000000000000000000000000000000020", + "0x0000000000000000000000000000000000000000000000000000000000000021", + "0x0000000000000000000000000000000000000000000000000000000000000022", + "0x0000000000000000000000000000000000000000000000000000000000000023", + "0x0000000000000000000000000000000000000000000000000000000000000024", + "0x0000000000000000000000000000000000000000000000000000000000000025", + "0x0000000000000000000000000000000000000000000000000000000000000026", + "0x0000000000000000000000000000000000000000000000000000000000000027", + "0x0000000000000000000000000000000000000000000000000000000000000028", + "0x0000000000000000000000000000000000000000000000000000000000000029", + "0x000000000000000000000000000000000000000000000000000000000000002a", + "0x000000000000000000000000000000000000000000000000000000000000002b", + "0x000000000000000000000000000000000000000000000000000000000000002c", + "0x000000000000000000000000000000000000000000000000000000000000002d", + "0x000000000000000000000000000000000000000000000000000000000000002e", + "0x000000000000000000000000000000000000000000000000000000000000002f", + "0x0000000000000000000000000000000000000000000000000000000000000030", + "0x0000000000000000000000000000000000000000000000000000000000000031", + "0x0000000000000000000000000000000000000000000000000000000000000032", + "0x0000000000000000000000000000000000000000000000000000000000000033", + "0x0000000000000000000000000000000000000000000000000000000000000034", + "0x0000000000000000000000000000000000000000000000000000000000000035", + "0x0000000000000000000000000000000000000000000000000000000000000036", + "0x0000000000000000000000000000000000000000000000000000000000000037", + "0x0000000000000000000000000000000000000000000000000000000000000038", + "0x0000000000000000000000000000000000000000000000000000000000000039", + "0x000000000000000000000000000000000000000000000000000000000000003a", + "0x000000000000000000000000000000000000000000000000000000000000003b", + "0x000000000000000000000000000000000000000000000000000000000000003c", + "0x000000000000000000000000000000000000000000000000000000000000003d", + "0x000000000000000000000000000000000000000000000000000000000000003e", + "0x000000000000000000000000000000000000000000000000000000000000003f", + "0x0000000000000000000000000000000000000000000000000000000000000040", + "0x0000000000000000000000000000000000000000000000000000000000000041", + "0x0000000000000000000000000000000000000000000000000000000000000042", + "0x0000000000000000000000000000000000000000000000000000000000000043", + "0x0000000000000000000000000000000000000000000000000000000000000044", + "0x0000000000000000000000000000000000000000000000000000000000000045", + "0x0000000000000000000000000000000000000000000000000000000000000046", + "0x0000000000000000000000000000000000000000000000000000000000000047", + "0x0000000000000000000000000000000000000000000000000000000000000048", + "0x0000000000000000000000000000000000000000000000000000000000000049", + "0x000000000000000000000000000000000000000000000000000000000000004a", + "0x000000000000000000000000000000000000000000000000000000000000004b", + "0x000000000000000000000000000000000000000000000000000000000000004c", + "0x000000000000000000000000000000000000000000000000000000000000004d", + "0x000000000000000000000000000000000000000000000000000000000000004e", + "0x000000000000000000000000000000000000000000000000000000000000004f", + "0x0000000000000000000000000000000000000000000000000000000000000050", + "0x0000000000000000000000000000000000000000000000000000000000000051", + "0x0000000000000000000000000000000000000000000000000000000000000052", + "0x0000000000000000000000000000000000000000000000000000000000000053", + "0x0000000000000000000000000000000000000000000000000000000000000054", + "0x0000000000000000000000000000000000000000000000000000000000000055", + "0x0000000000000000000000000000000000000000000000000000000000000056", + "0x0000000000000000000000000000000000000000000000000000000000000057", + "0x0000000000000000000000000000000000000000000000000000000000000058", + "0x0000000000000000000000000000000000000000000000000000000000000059", + "0x000000000000000000000000000000000000000000000000000000000000005a", + "0x000000000000000000000000000000000000000000000000000000000000005b", + "0x000000000000000000000000000000000000000000000000000000000000005c", + "0x000000000000000000000000000000000000000000000000000000000000005d", + "0x000000000000000000000000000000000000000000000000000000000000005e", + "0x000000000000000000000000000000000000000000000000000000000000005f", + "0x0000000000000000000000000000000000000000000000000000000000000060", + "0x0000000000000000000000000000000000000000000000000000000000000061", + "0x0000000000000000000000000000000000000000000000000000000000000062", + "0x0000000000000000000000000000000000000000000000000000000000000063", + "0x0000000000000000000000000000000000000000000000000000000000000064", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x0000000000000000000000000000000000000000000000000000000000000066", + "0x0000000000000000000000000000000000000000000000000000000000000067", + "0x0000000000000000000000000000000000000000000000000000000000000068", + "0x0000000000000000000000000000000000000000000000000000000000000069", + "0x000000000000000000000000000000000000000000000000000000000000006a", + "0x000000000000000000000000000000000000000000000000000000000000006b", + "0x000000000000000000000000000000000000000000000000000000000000006c", + "0x000000000000000000000000000000000000000000000000000000000000006d", + "0x000000000000000000000000000000000000000000000000000000000000006e", + "0x000000000000000000000000000000000000000000000000000000000000006f", + "0x0000000000000000000000000000000000000000000000000000000000000070", + "0x0000000000000000000000000000000000000000000000000000000000000071", + "0x0000000000000000000000000000000000000000000000000000000000000072", + "0x0000000000000000000000000000000000000000000000000000000000000073", + "0x0000000000000000000000000000000000000000000000000000000000000074", + "0x0000000000000000000000000000000000000000000000000000000000000075", + "0x0000000000000000000000000000000000000000000000000000000000000076", + "0x0000000000000000000000000000000000000000000000000000000000000077", + "0x0000000000000000000000000000000000000000000000000000000000000078", + "0x0000000000000000000000000000000000000000000000000000000000000079", + "0x000000000000000000000000000000000000000000000000000000000000007a", + "0x000000000000000000000000000000000000000000000000000000000000007b", + "0x000000000000000000000000000000000000000000000000000000000000007c", + "0x000000000000000000000000000000000000000000000000000000000000007d", + "0x000000000000000000000000000000000000000000000000000000000000007e", + "0x000000000000000000000000000000000000000000000000000000000000007f", + "0x0000000000000000000000000000000000000000000000000000000000000080", + "0x0000000000000000000000000000000000000000000000000000000000000081", + "0x0000000000000000000000000000000000000000000000000000000000000082", + "0x0000000000000000000000000000000000000000000000000000000000000083", + "0x0000000000000000000000000000000000000000000000000000000000000084", + "0x0000000000000000000000000000000000000000000000000000000000000085", + "0x0000000000000000000000000000000000000000000000000000000000000086", + "0x0000000000000000000000000000000000000000000000000000000000000087", + "0x0000000000000000000000000000000000000000000000000000000000000088", + "0x0000000000000000000000000000000000000000000000000000000000000089", + "0x000000000000000000000000000000000000000000000000000000000000008a", + "0x000000000000000000000000000000000000000000000000000000000000008b" +] + hash = "0x0000000000000000000000000000000000000000000000000000000000000002" + +[inputs.avm_proof_data.public_inputs] +transaction_fee = "0x0000000000000000000000000000000000000000000000000000000517f10c9a" +reverted = false + + [inputs.avm_proof_data.public_inputs.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000000000001" + block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000024" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34a09" + + [inputs.avm_proof_data.public_inputs.global_variables.coinbase] + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" + + [inputs.avm_proof_data.public_inputs.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000003c5fa" + +[inputs.avm_proof_data.public_inputs.start_tree_snapshots.l1_to_l2_message_tree] +root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000090" + +[inputs.avm_proof_data.public_inputs.start_tree_snapshots.note_hash_tree] +root = "0x1274ac7eb9a49a706437df9de97a879ce04156b9ec3136ababfbd45f4aca5e56" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" + +[inputs.avm_proof_data.public_inputs.start_tree_snapshots.nullifier_tree] +root = "0x28c8cc2237b1ba0092dfdf9dfd583efdc1ad85970d495e2afe42b0e32709229a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" + +[inputs.avm_proof_data.public_inputs.start_tree_snapshots.public_data_tree] +root = "0x012a78b7e1e30d4ad5cbc83a2dd91965ed9ba00684944d8f2521033510470ddf" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" + + [inputs.avm_proof_data.public_inputs.start_gas_used] + da_gas = "0x0000000000000000000000000000000000000000000000000000000000000400" + l2_gas = "0x0000000000000000000000000000000000000000000000000000000000006500" + +[inputs.avm_proof_data.public_inputs.gas_settings.gas_limits] +da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" +l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" + +[inputs.avm_proof_data.public_inputs.gas_settings.teardown_gas_limits] +da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" + +[inputs.avm_proof_data.public_inputs.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c6f2a" + +[inputs.avm_proof_data.public_inputs.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.fee_payer] + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_setup_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_setup_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x21066ff97642afbdaa0356c1f4ddc58b6e7d3d5b5daf2e9e7a814e6fe8de89c5" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x09f4a52cfcb590c0c09e0ec33d1b9114045ea4751f1108ade38176541e1f7a3f" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x13ce6e12aee9046b7e1d8c0753ddfe92b2d2c01a1e64c8335cc522c1592be269" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x00000000000000000000000000000000000000000000000000000000d5441b0d" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_teardown_call_request] + is_static_call = false + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.public_teardown_call_request.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data_array_lengths] + note_hashes = "0x0000000000000000000000000000000000000000000000000000000000000000" + nullifiers = "0x0000000000000000000000000000000000000000000000000000000000000001" + l2_to_l1_msgs = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data_array_lengths] + note_hashes = "0x0000000000000000000000000000000000000000000000000000000000000000" + nullifiers = "0x0000000000000000000000000000000000000000000000000000000000000000" + l2_to_l1_msgs = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data] + note_hashes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13156,12 +10477,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13203,26 +10518,8 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + nullifiers = [ + "0x041df4eab39ca9bcbe3ae5c04ed7cc560b8de2634fda049d521938a5f1b84a30", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13246,12 +10543,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13294,99 +10585,98 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000" ] - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] + [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data] + note_hashes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13426,12 +10716,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13454,6 +10738,9 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + nullifiers = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13471,12 +10758,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13516,12 +10797,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13529,6 +10804,119 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.end_tree_snapshots.l1_to_l2_message_tree] +root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000090" + +[inputs.avm_proof_data.public_inputs.end_tree_snapshots.note_hash_tree] +root = "0x1274ac7eb9a49a706437df9de97a879ce04156b9ec3136ababfbd45f4aca5e56" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" + +[inputs.avm_proof_data.public_inputs.end_tree_snapshots.nullifier_tree] +root = "0x19e3e579f2c8dd1c453aeef57fea8c0382909f6632891bf133c2d71e90e104a0" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" + +[inputs.avm_proof_data.public_inputs.end_tree_snapshots.public_data_tree] +root = "0x0d879f2c74a7cd8c2293a3dab84787cf00e427941f113f28befec2b0afe5a158" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000009a" + + [inputs.avm_proof_data.public_inputs.end_gas_used] + da_gas = "0x0000000000000000000000000000000000000000000000000000000000000800" + l2_gas = "0x0000000000000000000000000000000000000000000000000000000000015991" + + [inputs.avm_proof_data.public_inputs.accumulated_data] + note_hashes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13561,12 +10949,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13598,6 +10980,10 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + nullifiers = [ + "0x041df4eab39ca9bcbe3ae5c04ed7cc560b8de2634fda049d521938a5f1b84a30", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13606,12 +10992,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13651,12 +11031,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13672,6 +11046,103 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.message.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] +fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13684,6 +11155,15 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] +fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13699,12 +11179,12 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000" ] - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] +fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13717,6 +11197,15 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] +fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13729,6 +11218,15 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] +fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13744,12 +11242,12 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000" ] - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] +fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13762,6 +11260,15 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] +fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13774,6 +11281,15 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs]] +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.public_inputs.accumulated_data.public_logs.log] +fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13789,78 +11305,266 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000" ] - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x28c2a103e29b9bdcf722a40fa422576f45c9d108535f40d43120403664c16aee" + value = "0x0000000000000000000000000000000000000000000000000000000000001c20" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x2db0f3385ab150c45897703b05a7a3f703228ea2ca05e1ad38fdd6119b18b9c6" + value = "0x0000000000000000000000000000000000000000000000000000000000000af0" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x1f07a4184dea4dfd6e55fe7a932bc0f371515bc2c204f6c0102cd770f7791e9c" + value = "0x00000000000000000000000000000000000000000000021e19e0c2066391b59a" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] + leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.avm_proof_data.proof] +fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13876,12 +11580,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13921,12 +11619,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -13966,12 +11658,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14011,12 +11697,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14056,12 +11736,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14101,12 +11775,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14146,12 +11814,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14191,12 +11853,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14236,12 +11892,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14281,12 +11931,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14326,12 +11970,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14371,12 +12009,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14416,12 +12048,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14461,12 +12087,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14506,12 +12126,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14551,12 +12165,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14596,12 +12204,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14641,12 +12243,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14686,12 +12282,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14731,12 +12321,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14776,12 +12360,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14821,12 +12399,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14866,12 +12438,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14911,12 +12477,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14956,12 +12516,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15001,12 +12555,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15046,12 +12594,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15091,12 +12633,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15136,12 +12672,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15181,12 +12711,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15226,12 +12750,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15271,12 +12789,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15316,12 +12828,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15361,12 +12867,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15406,12 +12906,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15451,12 +12945,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15496,12 +12984,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15541,12 +13023,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15586,12 +13062,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15631,12 +13101,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15676,12 +13140,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15721,12 +13179,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15766,12 +13218,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15811,12 +13257,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15856,12 +13296,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -15901,531 +13335,7 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x2f07d412d3983d70f390337ced53468c83dbdecc013d629ffbbf6b33d5ae0cf7" - value = "0x0000000000000000000000000000000000000000000000000000000000002328" - next_slot = "0x2f104507134868136355ba1952943cf5d9563427f68efbf3dbb7d3bdeea1e5e7" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000092" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x01f9a76f455f862131271354da2c58a222dfc21587f39a1a9dfcc3879b4b9c2c" - value = "0x00000000000000000000000000000000000000000000000000000000000003e8" - next_slot = "0x05845e7ef9cee47f845c62f6c03c7da6f02dce74280086377920d4a223a3a80b" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000076" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x26599f328e161f0a207b32c35117416f0c5b3717a718c1901affc89da47d46a2" - value = "0x00000000000000000000000000000000000000000000021e188eea0056f257d0" - next_slot = "0x277658932a5ec6c236eb07131b793e2acfd4d6c1170536bcfcbdfcb5eb1a8ae6" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000087" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_preimages]] - slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "136" - sibling_path = [ - "0x2a7311145e721e4e6a502ba3d512019ec27521a123892cc32040914f9f388d77", - "0x1021750868c104e13a2c10a2f6c971305a66e9aec95e97e26400f0e77323c5f0", - "0x0dc5c138aefe5215b7ec398accd60c5fd923f56fa1bafdfd1dac7adb301ce5d4", - "0x240c9a8ad325f49252e263d33e118490d3d6ca81d9899a6e87f8444aa93af681", - "0x0e4caee0800534929b4f648b85a6644ac50aa07e8b6cc004967ae2d8fd262d33", - "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x08c8c154a050b67541a9ff7c2fb5d3e75293d13fe7b7581cb4acd9b077740ca7", - "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", - "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", - "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", - "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", - "0x1c4954081e324939350febc2b918a293ebcdaead01be95ec02fcbe8d2c1635d1", - "0x0197f2171ef99c2d053ee1fb5ff5ab288d56b9b41b4716c9214a4d97facc4c4a", - "0x2b9cdd484c5ba1e4d6efcc3f18734b5ac4c4a0b9102e2aeb48521a661d3feee9", - "0x14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3", - "0x071d7627ae3b2eabda8a810227bf04206370ac78dbf6c372380182dbd3711fe3", - "0x2fdc08d9fe075ac58cb8c00f98697861a13b3ab6f9d41a4e768f75e477475bf5", - "0x20165fe405652104dceaeeca92950aa5adc571b8cafe192878cba58ff1be49c5", - "0x1c8c3ca0b3a3d75850fcd4dc7bf1e3445cd0cfff3ca510630fd90b47e8a24755", - "0x1f0c1a8fb16b0d2ac9a146d7ae20d8d179695a92a79ed66fc45d9da4532459b3", - "0x038146ec5a2573e1c30d2fb32c66c8440f426fbd108082df41c7bebd1d521c30", - "0x17d3d12b17fe762de4b835b2180b012e808816a7f2ff69ecb9d65188235d8fd4", - "0x0e1a6b7d63a6e5a9e54e8f391dd4e9d49cdfedcbc87f02cd34d4641d2eb30491", - "0x09244eec34977ff795fc41036996ce974136377f521ac8eb9e04642d204783d2", - "0x1646d6f544ec36df9dc41f778a7ef1690a53c730b501471b6acd202194a7e8e9", - "0x064769603ba3f6c41f664d266ecb9a3a0f6567cd3e48b40f34d4894ee4c361b3", - "0x1595bb3cd19f84619dc2e368175a88d8627a7439eda9397202cdb1167531fd3f", - "0x2a529be462b81ca30265b558763b1498289c9d88277ab14f0838cb1fce4b472c", - "0x0c08da612363088ad0bbc78abd233e8ace4c05a56fdabdd5e5e9b05e428bdaee", - "0x14748d0241710ef47f54b931ac5a58082b1d56b0f0c30d55fb71a6e8c9a6be14", - "0x0b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d", - "0x2c45bb0c3d5bc1dc98e0baef09ff46d18c1a451e724f41c2b675549bb5c80e59", - "0x121468e6710bf1ffec6d0f26743afe6f88ef55dab40b83ca0a39bc44b196374c", - "0x2042c32c823a7440ceb6c342f9125f1fe426b02c527cd8fb28c85d02b705e759", - "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0f55a0d491a9da093eb999fa0dffaf904620cbc78d07e63c6f795c5c7512b523", - "0x21849764e1aa64b83a69e39d27eedaec2a8f97066e5ddb74634ffdb11388dd9a", - "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "150" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x2b0c28a9a0e25118ad04bffe894a2764129607ce3eddb33da8c5a5bf37f34e17", - "0x28475b1159e29ddcca83b9b080e134392cde059548246aa4c3428999c98f0f8c", - "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", - "0x04558c4177205fae948898e29729212cdba9f3a7b77329a3d838c92ac3f10bcd", - "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x08c8c154a050b67541a9ff7c2fb5d3e75293d13fe7b7581cb4acd9b077740ca7", - "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", - "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", - "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", - "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", - "0x1c4954081e324939350febc2b918a293ebcdaead01be95ec02fcbe8d2c1635d1", - "0x0197f2171ef99c2d053ee1fb5ff5ab288d56b9b41b4716c9214a4d97facc4c4a", - "0x2b9cdd484c5ba1e4d6efcc3f18734b5ac4c4a0b9102e2aeb48521a661d3feee9", - "0x14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3", - "0x071d7627ae3b2eabda8a810227bf04206370ac78dbf6c372380182dbd3711fe3", - "0x2fdc08d9fe075ac58cb8c00f98697861a13b3ab6f9d41a4e768f75e477475bf5", - "0x20165fe405652104dceaeeca92950aa5adc571b8cafe192878cba58ff1be49c5", - "0x1c8c3ca0b3a3d75850fcd4dc7bf1e3445cd0cfff3ca510630fd90b47e8a24755", - "0x1f0c1a8fb16b0d2ac9a146d7ae20d8d179695a92a79ed66fc45d9da4532459b3", - "0x038146ec5a2573e1c30d2fb32c66c8440f426fbd108082df41c7bebd1d521c30", - "0x17d3d12b17fe762de4b835b2180b012e808816a7f2ff69ecb9d65188235d8fd4", - "0x0e1a6b7d63a6e5a9e54e8f391dd4e9d49cdfedcbc87f02cd34d4641d2eb30491", - "0x09244eec34977ff795fc41036996ce974136377f521ac8eb9e04642d204783d2", - "0x1646d6f544ec36df9dc41f778a7ef1690a53c730b501471b6acd202194a7e8e9", - "0x064769603ba3f6c41f664d266ecb9a3a0f6567cd3e48b40f34d4894ee4c361b3", - "0x1595bb3cd19f84619dc2e368175a88d8627a7439eda9397202cdb1167531fd3f", - "0x2a529be462b81ca30265b558763b1498289c9d88277ab14f0838cb1fce4b472c", - "0x0c08da612363088ad0bbc78abd233e8ace4c05a56fdabdd5e5e9b05e428bdaee", - "0x14748d0241710ef47f54b931ac5a58082b1d56b0f0c30d55fb71a6e8c9a6be14", - "0x0b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d", - "0x2c45bb0c3d5bc1dc98e0baef09ff46d18c1a451e724f41c2b675549bb5c80e59", - "0x121468e6710bf1ffec6d0f26743afe6f88ef55dab40b83ca0a39bc44b196374c", - "0x2042c32c823a7440ceb6c342f9125f1fe426b02c527cd8fb28c85d02b705e759", - "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0f55a0d491a9da093eb999fa0dffaf904620cbc78d07e63c6f795c5c7512b523", - "0x21849764e1aa64b83a69e39d27eedaec2a8f97066e5ddb74634ffdb11388dd9a", - "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "127" - sibling_path = [ - "0x0da3a1ac63a0ffed9060613c4f7449a69bebea90c517a88041bf136f4aa075bd", - "0x1c4f90e9eb942ca6a4696a7efd3aa45f3a4fc9e8576d18c95dff999d12bd5fba", - "0x0fe501ab7faba8fe726351d18bb39013221ff7cc0d34e7e8636b2963559e5400", - "0x12db316ebeceef5d96c7602b5384a6fc096abcfd84c893dfc77639b85ed8aaaa", - "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", - "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", - "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x0eceff0c1b4fbec1602167ad1ccc58b2ec4c3e8f8b5452f50fac3dd5c90a0f53", - "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", - "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", - "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", - "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", - "0x1c4954081e324939350febc2b918a293ebcdaead01be95ec02fcbe8d2c1635d1", - "0x0197f2171ef99c2d053ee1fb5ff5ab288d56b9b41b4716c9214a4d97facc4c4a", - "0x2b9cdd484c5ba1e4d6efcc3f18734b5ac4c4a0b9102e2aeb48521a661d3feee9", - "0x14f44d672eb357739e42463497f9fdac46623af863eea4d947ca00a497dcdeb3", - "0x071d7627ae3b2eabda8a810227bf04206370ac78dbf6c372380182dbd3711fe3", - "0x2fdc08d9fe075ac58cb8c00f98697861a13b3ab6f9d41a4e768f75e477475bf5", - "0x20165fe405652104dceaeeca92950aa5adc571b8cafe192878cba58ff1be49c5", - "0x1c8c3ca0b3a3d75850fcd4dc7bf1e3445cd0cfff3ca510630fd90b47e8a24755", - "0x1f0c1a8fb16b0d2ac9a146d7ae20d8d179695a92a79ed66fc45d9da4532459b3", - "0x038146ec5a2573e1c30d2fb32c66c8440f426fbd108082df41c7bebd1d521c30", - "0x17d3d12b17fe762de4b835b2180b012e808816a7f2ff69ecb9d65188235d8fd4", - "0x0e1a6b7d63a6e5a9e54e8f391dd4e9d49cdfedcbc87f02cd34d4641d2eb30491", - "0x09244eec34977ff795fc41036996ce974136377f521ac8eb9e04642d204783d2", - "0x1646d6f544ec36df9dc41f778a7ef1690a53c730b501471b6acd202194a7e8e9", - "0x064769603ba3f6c41f664d266ecb9a3a0f6567cd3e48b40f34d4894ee4c361b3", - "0x1595bb3cd19f84619dc2e368175a88d8627a7439eda9397202cdb1167531fd3f", - "0x2a529be462b81ca30265b558763b1498289c9d88277ab14f0838cb1fce4b472c", - "0x0c08da612363088ad0bbc78abd233e8ace4c05a56fdabdd5e5e9b05e428bdaee", - "0x14748d0241710ef47f54b931ac5a58082b1d56b0f0c30d55fb71a6e8c9a6be14", - "0x0b59baa35b9dc267744f0ccb4e3b0255c1fc512460d91130c6bc19fb2668568d", - "0x2c45bb0c3d5bc1dc98e0baef09ff46d18c1a451e724f41c2b675549bb5c80e59", - "0x121468e6710bf1ffec6d0f26743afe6f88ef55dab40b83ca0a39bc44b196374c", - "0x2042c32c823a7440ceb6c342f9125f1fe426b02c527cd8fb28c85d02b705e759", - "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0f55a0d491a9da093eb999fa0dffaf904620cbc78d07e63c6f795c5c7512b523", - "0x21849764e1aa64b83a69e39d27eedaec2a8f97066e5ddb74634ffdb11388dd9a", - "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16465,12 +13375,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16510,12 +13414,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16555,12 +13453,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16600,12 +13492,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16645,12 +13531,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16690,12 +13570,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16735,12 +13609,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16780,12 +13648,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16825,12 +13687,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16870,12 +13726,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16915,12 +13765,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -16960,12 +13804,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17005,12 +13843,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17050,12 +13882,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17095,12 +13921,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17140,12 +13960,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17185,12 +13999,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17230,12 +14038,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17275,12 +14077,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17320,12 +14116,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17365,12 +14155,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17410,12 +14194,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17455,12 +14233,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17500,12 +14272,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17545,12 +14311,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17590,12 +14350,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17635,12 +14389,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17680,12 +14428,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17725,12 +14467,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17770,12 +14506,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17815,12 +14545,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17860,12 +14584,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17905,12 +14623,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17950,12 +14662,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -17995,12 +14701,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18040,12 +14740,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18085,12 +14779,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18130,12 +14818,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18175,12 +14857,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18220,12 +14896,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18265,12 +14935,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18310,12 +14974,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18355,12 +15013,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18400,12 +15052,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18445,12 +15091,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18490,12 +15130,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18535,12 +15169,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18580,12 +15208,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18625,12 +15247,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18670,12 +15286,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18715,12 +15325,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18760,12 +15364,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18805,12 +15403,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18850,12 +15442,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18895,12 +15481,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18940,12 +15520,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18985,12 +15559,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -19030,12 +15598,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -19075,12 +15637,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -19120,12 +15676,6 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.state_diff_hints.low_public_data_writes_witnesses]] - leaf_index = "0" - sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -19165,16 +15715,138 @@ public_data_tree_sibling_paths = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + +[inputs.avm_proof_data.vk_data] +vk_index = "0x0000000000000000000000000000000000000000000000000000000000000005" +vk_path = [ + "0x27dbd017f63a5339a96cbc9ab86dc2b137d7c0ed488f2ea3e33424d7a44562c3", + "0x223063c72cef9fc3d51ebd312aed0da97aa4e3d5f71ed4b3cbaeb8010bb06466", + "0x16d7a826947f99f5da063c1a57a8d32e7bfbe10855090bed66c1d719f9dd8680", + "0x1ed25a38cd9d04ab5b82e40e8df5203e8601022abfa3f35de954bae2f5ab9434", + "0x0480e0c2f2c5c4c9096c1dbec900df8718ee5052ec59e04e9c94e7a43eb19139", + "0x00024db01ec2c08872cd46506dfd04762a0498b62b0d619a766a5aedc5c89c6a" +] + + [inputs.avm_proof_data.vk_data.vk] + key = [ + "0x1f36226c8722c78949b3f13ca825b6d01e0048ab50259ed886c3a0268cc6566c", + "0x09f405f36100f54d3ad0d1e95d2927fa32c45ef7414379436dab01ec8d029c0b", + "0x0b9d0e54a2e666350d396349173560c6a99c0c9c8b59149fbc467b1d1089d6b7", + "0x2a08dc9048f73121a818bc9c54bced47e3c2eb028dd39a10c6de12baf6989ead", + "0x2095bfd990b8726a690c59f1bc455971825bd937bb55c9a786dfebe70b3c981d", + "0x1192524f84f85bbe132710141a97dfc1b5f61e57b530e1084e1aa82205003140", + "0x1a9a25733423381e8c239b69dd16a60bda0df182cbf94bdce2e0eb2698b78881", + "0x03a89fc68d2f2c39f34289a5bd10d0eabf5479c20b5876ff552a336f57fcf13b", + "0x28c411ff85661274a87fe832b7d5453c3d1f096d2140b356500e38a8d4220f63", + "0x08a5e29e40449d4ddcc2132e4c42013784d531bab1c6f9aeea646fc2cb1acff5", + "0x019383c2625e0617653a05f7b5971c22e917174534f7bc6f36de225f1d6774bf", + "0x061646c15cc0b52a362b187460ea27222730a6fb243ff775290899a026a6f121", + "0x1eda3d7403944b9b8eb6f1d218a99a2004c45ee04ca532cdd5a5d6b3eeffa18e", + "0x25696bef5ac987fb9d8b7945c270662fe2c82209d06095297e105a39e6158d9f", + "0x0a469562d882310aa8b1fd9ad74eaf8b23abd1db6dffa613aa8b70a989dcd6e7", + "0x0094612ebb2aaebe0948c56b706e40ea884b6cd9f5eddafa8b29f05a70c4edd7", + "0x0049d5143c467e84160d7d675f0c27a2b1bda06b4cf859d3c0c0ea08983740f2", + "0x1e3cccd099bd9c1b8f21315959cab3d1abc9119f3992427c4d1b1a40d0b198b3", + "0x2b946471c7a12f1c9b88e9f7607da8c898c3a47dbfb07d052ed514bc87928b96", + "0x0a14c3a573878c1529fdab10d154fa1d218e5c63a5129261c565df36cef3d795", + "0x14116d5d5bd988a1be5e8bd20b4778b7e7b0fd4ba889a7c1aec7d1c3b6a06999", + "0x07c3df8ed172ead8ab018220661bdc2bbed022044523eb77b45090dfb3575e42", + "0x060f721795a218ccb670e0ddf4249f1f683a8c17d9bd700b6846527610646644", + "0x241de091e54647df331ef50e34d249e9922bd5894e20b4e9236b904d99ae8348", + "0x0329e2b03c09481fbfccfe41af2c094e678a84767bd4206f3ddb299ee9316aab", + "0x07b799bb0d583c46b5431a89723f4ecbee6b1b0ac06d55fcabc90e1711101971", + "0x0b9c8d45306397be3ba7fd974603aa0d9d508c11dbfda36d342c69b802af6fab", + "0x1841d1a81be16a1549d402800474900f70e3a18e1b4b4ae49b7da39f9252f9d2", + "0x1032fe484b2cf3740934d3d06d1277c1a2a994802d4acb1664a06389ca2524a0", + "0x1d82ded81fcb364b1a3710a3c28bc66f40e7d8b882c89b4f89cd13c6f614e404", + "0x1c25acf8b096df4ae636c91d5bbc78e182981653bbc5a9f839ed33098f18e960", + "0x0ed5ecb613b7000d0068c6ce08ac853836210259e72e9e17e13a84b4402c5072", + "0x28cfe341b0efc2ed96137ec39964e35e1f95e10bbb2a7c32b2498f94b635830b", + "0x1c62649fc12d41c15c174e9be3bb318e86a6ecff1a6c4fcbd79d8f9f7ce7ef92", + "0x178bf9170e9428ab091b4bf55a0fce8d934fb563020dd0d53ef4cc713924d5ad", + "0x0c0138ea38d1a4b6f44d38e9c6f02a2e00b7ea9ae27ce39d1bf2d13f563005d4", + "0x1c9a1d8c7f0eb78fed8c289e2219a9238f9b0fb4c88e6751679449ea24ba58fe", + "0x2c58587d066ece832df046511c588b75370c8cbc602bcfaddb5fcc8edc32324f", + "0x2d686651b5dd6dcb156601db1c8e4db204aa569ce14a2906b6ac731b4ece4d4b", + "0x0ad5b31b279efbb80ee6ffe5ba84a1ec1c22b20bf3f4e7a84d28c0adb91c82a4", + "0x1a107d377be4b71d95a65de18a8d525ffba251b5a559f8354a7ae17ccaeb9707", + "0x186d2e0c82a3640b74abc170789b22d599f521454ce6afab2d78a32e1173c815", + "0x1e8894223a0c4d9f927b3c497fab14aad59c8b96cc9bb72de182a08764d48ca1", + "0x2203fbed90cba2a56a043aa7274eea76ca7125d5ccb2aad9b09e29fdc5cffc33", + "0x20240f0acff948fe58d78b3b5e6caaf8962b07bed12501631a1d2bca97315ea6", + "0x01de9aa611794dafcfce9a4047525be857cdfa9db7f88117f4bf026c76137a9c", + "0x29003e43d05387f1013930c4dddab8918ce087dcfed2caf45e908241bd6f7e6e", + "0x002d5d1b9b942b10982bdd317695d5e271944d0267f3f8a0f1a91effc481f785", + "0x183db7d1626da1cfd854fb782b8798f88eee7ff8c8e4586526c4db806f61c036", + "0x096a404cad3e761558b68e8d3f11ce1f599716fbcbf216a15bebe15eb85271c2", + "0x287c8bd5e2c55fb9c1e737deb85e80c99ac31410def3c6d0a6a0c93657cfc3cc", + "0x0b6ab739476073b262ac1603b702b0afce5112ac5a70d47627814e25459aa838", + "0x19219ff4d2d53c2c8002e692addd6e100419be3b454788190967cfb643cd7eb7", + "0x10f0e815eb5cfe9ba219d8ae3daac3c795a26dafc7cf0ef8b6a55e87712f8a17", + "0x1af50277849757909ce752d23cd3d2b8fd051336a24c387c17f69d6cfc8409ac", + "0x2258ae2d131e44647c1f53d908cf563405d24171ecd7db5c20da1d8a7b1470dd", + "0x2bad24d98f5236387280a2c616a1e54896da134f6549b1a582e395fa06cc3450", + "0x22306bc657f2613974276aabf80613bcfcc96aa40022bc5642c23c2ce2042a0f", + "0x0bfba7dab7b765bf42c49cea75b5b4390ff33e352221c912a8107599aaf8858d", + "0x181b80f65bc85bbb921fa3e5931a45b59d049cdce382e877fc06de8cad8663ea", + "0x07ca67dcbd9f48d3d599d6913f4f92f3c3e74fae9fc84ca2c243c92db61ec584", + "0x059b99060b2a882f1f7af923d7a8fe35a8368960d55f7f3de367705fc3f09c2c", + "0x120b89760fd7d9ad4a4de65bdffc2ae1d0c69334466baf48841a7c0f5a1d98a1", + "0x1054f7b2a2e66f8eb091fa5870a858b8da98f132bca59c3de6b8f85c1a349094", + "0x2684e34de1cdc6f2759620d9ec7c827a79c744738fba07d5e5238c381f2f643a", + "0x14770696aec8f0ba4e65000f568a9aa78ad6642cbbb666319809c8a6b13355c2", + "0x1afa2461fe09cde9d5121b65aa7103c1d1e3a118f379a174aec772f3d1486906", + "0x0d61486e3943a83d631fd68ee3529f90760b53c4416bcaa50bec96d354c25b59", + "0x1a2919a92d49e7fa9a3d7afb15a62b197e0a85321ed58547a677b7e2878ef2b8", + "0x17e42c5a39a335440b1962164be61eb080290d171f2f40b93b61d314c2b63748", + "0x00016c1490ccd448acf460fc3cb491f518767a86183532659b2436e1cd2e0907", + "0x07a2e2ce7ccaa7acc6a56247eb8f636ae36342909eb13e4b0321a7c21dafab8a", + "0x05fb580293de2c772623959d2baf616ee5073aaeec1d04e5b03c11b21618634e", + "0x26e34e04d5d549e47654aa016eb819a9ece195bb6bf0d5b697b1a2024aa0d356", + "0x295e4f184cfff797cd0b638fafb936ec9a290de429321b98a7580b98b607c9c8", + "0x2fff89a9c2da51a8a6de0049ac21d8ed44d64a8d9196c970599efc7068108107", + "0x268917e608e68a61f4aa784f3f1f433dfd9def35a92b39a22a1ca8f7d96e28f6", + "0x2e0b8ec88435484c2e633cd96ed2637059297af489e6aa4d7f5f777b3a0a2aa9", + "0x09f4e5849a73adae393e4da3186d179dcfe161e8582072ae8bb346cd291d1c34", + "0x18cf8051625f2323e262a520091a4ddfb5c199dcd9b7c9e82bf86e930c06d742", + "0x2e5695fe3b184fc05702130b7eaf2c11b921236e6ffff5c7ff334ced9e1f6cbb", + "0x2d9e9779a2d2072a87ee3c5fc06b765b487c92107c696201c7b8398c676bb2d5", + "0x2ec6c911c501a0d1158d3229c62d3e78083ebd252e89c125f6d573dc39dde039", + "0x250031fa7521335cdac5c8d83db6bfbcea9167034442e807f0bcd0cb53ee676b", + "0x2cabf203502827f2320bc6c50b700181c53a510799b4f930583e9883ccc7e63c", + "0x02d0c7ac681eb75ab2af54dfa5ff3464e8b4f9f09fe09e772313eea229519c89" +] + hash = "0x263e45353597d354a50c271627b31b68426562e56f2302f80f5c3f54c66b05ef" + +[inputs.start_sponge_blob] +fields = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_fields = "0x000000000000000000000000000000000000000000000000000000000000000c" + + [inputs.start_sponge_blob.sponge] + cache = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] + state = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000000000000000000000c0000000000000000" +] + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000000" + squeeze_mode = false [inputs.archive_root_membership_witness] -leaf_index = "5" +leaf_index = "7" sibling_path = [ - "0x254c2380da37e6bc8bc76d3f564a9c369fdfd9317059e419065608da81ca14e2", - "0x0e8dffcc5ac0e25d409e61d275dbb9db980e2e31538745293ed06a52de67de15", - "0x0b61237fe1f54ebe56c699858d9e52e1396fe978122732ac0743b10be8dbf89b", - "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", + "0x250b07e40f14466de308748ef28efadb1314f9fa4bef984cddeac0306116922c", + "0x04d5fef6e22fb1aa4ae2adfe2d944cd101facf5b93489672ce297b20f4069c8c", + "0x16b7c5c76a84b2b464dfbdd89eef510334e5caec56b3c926c3975931fe5d41ef", + "0x2a1f0ae2b432f5880adfe31cdf956e82783e6bf853161c2fe968b3b74cc44c50", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -19203,26 +15875,26 @@ sibling_path = [ ] [inputs.constants] -vk_tree_root = "0x048e6bd7b9c1bee68207fabe01c023a98b343a54ef593e1931cb25ded7fc5bd8" -protocol_contract_tree_root = "0x2a22cd0a794cac972cdb72767be4c8375625d1de577ffdde150b685809f19423" +vk_tree_root = "0x0512a7ef6fd33b0d5faa176547bf287da4f02749d055eeb56e995895970bfc68" +protocol_contract_tree_root = "0x1ad2d5c74204e5ffb7a4cfdf2b5ca399c8dd4b12bf6bf4d93bcec9634671b273" [inputs.constants.last_archive] - root = "0x1965187918b61d4d2aa31e3e24c9fbf1a6018de37b2c82ac6cce80b4ac2e3d49" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x2880cdae7cc1a68b49e117e872839fdd35f9442ced6e434c2113174f6ac3ec01" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" version = "0x0000000000000000000000000000000000000000000000000000000000000001" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000015" - timestamp = "0x0000000000000000000000000000000000000000000000000000000067a0eccf" + block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000024" + timestamp = "0x0000000000000000000000000000000000000000000000000000000067b34a09" [inputs.constants.global_variables.coinbase] - inner = "0x000000000000000000000000a6d65a1ad1795526cb63f95cb3685b634407b98c" + inner = "0x000000000000000000000000fcbbb09f9220a75b0d8d499d342c4386f30568ac" [inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000c9bd2fa9e" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000003c5fa" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/abis/tx_effect.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/abis/tx_effect.nr index c0e2da5c6166..c3997b79d8b5 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/abis/tx_effect.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/abis/tx_effect.nr @@ -1,7 +1,7 @@ use types::{ abis::{ - log_hash::ScopedLogHash, private_log::PrivateLog, public_data_write::PublicDataWrite, - public_log::PublicLog, + contract_class_log::ContractClassLog, private_log::PrivateLog, + public_data_write::PublicDataWrite, public_log::PublicLog, }, constants::{ MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, @@ -21,8 +21,7 @@ pub(crate) struct TxEffect { pub(crate) public_data_writes: [PublicDataWrite; MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX], pub(crate) private_logs: [PrivateLog; MAX_PRIVATE_LOGS_PER_TX], pub(crate) public_logs: [PublicLog; MAX_PUBLIC_LOGS_PER_TX], - pub(crate) contract_class_log_preimages_length: Field, - pub(crate) contract_class_logs_hashes: [ScopedLogHash; MAX_CONTRACT_CLASS_LOGS_PER_TX], + pub(crate) contract_class_logs: [ContractClassLog; MAX_CONTRACT_CLASS_LOGS_PER_TX], } impl Empty for TxEffect { @@ -39,8 +38,7 @@ impl Empty for TxEffect { ], private_logs: [PrivateLog::empty(); MAX_PRIVATE_LOGS_PER_TX], public_logs: [PublicLog::empty(); MAX_PUBLIC_LOGS_PER_TX], - contract_class_log_preimages_length: 0, - contract_class_logs_hashes: [ScopedLogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], + contract_class_logs: [ContractClassLog::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], } } } diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/private_base_rollup.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/private_base_rollup.nr index 603fa842bd49..68b934e598a4 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/private_base_rollup.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/private_base_rollup.nr @@ -19,7 +19,8 @@ use super::components::constants::validate_tx_constant_data; use dep::types::{ abis::{ append_only_tree_snapshot::AppendOnlyTreeSnapshot, constant_rollup_data::ConstantRollupData, - public_data_write::PublicDataWrite, public_log::PublicLog, sponge_blob::SpongeBlob, + contract_class_log::ContractClassLogData, public_data_write::PublicDataWrite, + public_log::PublicLog, side_effect::scoped::Scoped, sponge_blob::SpongeBlob, tube::PrivateTubeData, }, constants::{ @@ -27,7 +28,7 @@ use dep::types::{ NOTE_HASH_SUBTREE_HEIGHT, TUBE_VK_INDEX, }, data::{hash::compute_public_data_tree_value, public_data_hint::PublicDataHint}, - hash::silo_l2_to_l1_message, + hash::{silo_contract_class_log, silo_l2_to_l1_message}, merkle_tree::{ append_only_tree, calculate_empty_tree_root, calculate_subtree_root, MembershipWitness, }, @@ -110,6 +111,13 @@ impl PrivateBaseRollupInputs { ), ); + let siloed_contract_class_logs = self.tube_data.public_inputs.end.contract_class_logs.map( + |log: Scoped| silo_contract_class_log(log), + ); + // These lengths have been constrained in the kernels to be correct. + let contract_class_logs_lengths = + self.tube_data.public_inputs.end.contract_class_logs.map(|l| l.inner.log_size); + let out_hash = compute_kernel_out_hash(siloed_l2_to_l1_msgs); let tx_effect = TxEffect { tx_hash: self.tube_data.public_inputs.hash(), @@ -121,14 +129,13 @@ impl PrivateBaseRollupInputs { public_data_writes: all_public_data_update_requests, private_logs: self.tube_data.public_inputs.end.private_logs, public_logs: [PublicLog::empty(); MAX_PUBLIC_LOGS_PER_TX], - contract_class_log_preimages_length: self - .tube_data - .public_inputs - .end - .contract_class_log_preimages_length, - contract_class_logs_hashes: self.tube_data.public_inputs.end.contract_class_logs_hashes, + contract_class_logs: siloed_contract_class_logs, }; - let end_sponge_blob = append_tx_effects_for_blob(tx_effect, self.start_sponge_blob); + let end_sponge_blob = append_tx_effects_for_blob( + tx_effect, + self.start_sponge_blob, + contract_class_logs_lengths, + ); // Perform membership checks that the notes provided exist within the historical trees data perform_archive_membership_check( @@ -222,7 +229,8 @@ mod tests { }, address::{AztecAddress, EthAddress}, constants::{ - ARCHIVE_HEIGHT, CONTRACT_CLASS_LOGS_PREFIX, L2_L1_MSGS_PREFIX, MAX_L2_TO_L1_MSGS_PER_TX, + ARCHIVE_HEIGHT, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, CONTRACT_CLASS_LOGS_PREFIX, + L2_L1_MSGS_PREFIX, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NOTE_HASH_SUBTREE_HEIGHT, NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH, NOTE_HASH_TREE_HEIGHT, NOTES_PREFIX, @@ -232,7 +240,7 @@ mod tests { TUBE_VK_INDEX, TX_FEE_PREFIX, TX_START_PREFIX, }, data::{public_data_hint::PublicDataHint, PublicDataTreeLeaf, PublicDataTreeLeafPreimage}, - hash::silo_l2_to_l1_message, + hash::{silo_contract_class_log, silo_l2_to_l1_message}, merkle_tree::MembershipWitness, messaging::l2_to_l1_message::ScopedL2ToL1Message, partial_state_reference::PartialStateReference, @@ -593,6 +601,7 @@ mod tests { let start_sponge_blob = append_tx_effects_for_blob( pre_existing_tx_effects, SpongeBlob::new(TX_EFFECTS_BLOB_HASH_INPUT_FIELDS), + [0; MAX_CONTRACT_CLASS_LOGS_PER_TX], ); let state_diff_hints = PrivateBaseStateDiffHints { @@ -825,8 +834,6 @@ mod tests { let inputs = builder.build_inputs(); let outputs = inputs.execute(); let mut tx_effects = [0; 57]; - // TODO(#8954): This test uses 50 notes and 5 extra absorbed fields - // This may change when logs are deconstructed // Initial field = TX_START_PREFIX | 0 | txlen[0] txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revert_code // The first 3 are: // - i=0 init field @@ -907,7 +914,8 @@ mod tests { builder.tube_data.append_l2_to_l1_msgs(NUM_MSGS); builder.tube_data.append_private_logs(NUM_PRIV_EVENT_LOGS); // Below will only work with NUM_CC_LOGS=1 - builder.tube_data.add_contract_class_log_hash(1, 2); + let cc_log = [1, 2, 3]; + builder.tube_data.add_contract_class_log(cc_log); let inputs = builder.build_inputs(); let outputs = inputs.execute(); @@ -970,16 +978,26 @@ mod tests { } offset += total_private_logs_len; // cc logs + let total_contract_class_logs_len = NUM_CC_LOGS * (cc_log.len() + 1); let contract_class_logs_prefix = - encode_blob_prefix(CONTRACT_CLASS_LOGS_PREFIX, NUM_CC_LOGS); + encode_blob_prefix(CONTRACT_CLASS_LOGS_PREFIX, total_contract_class_logs_len); reconstructed_tx_effects[offset] = contract_class_logs_prefix; offset += 1; for i in 0..NUM_CC_LOGS { - reconstructed_tx_effects[offset + i] = types::hash::silo_contract_class_log_hash( - builder.tube_data.contract_class_logs_hashes.storage()[i], - ); + let siloed_log = + silo_contract_class_log(builder.tube_data.contract_class_logs.storage()[i]); + let log_len = builder.tube_data.contract_class_logs.storage()[i].inner.log_size; + if log_len != 0 { + reconstructed_tx_effects[offset] = log_len as Field; + offset += 1; + } + for j in 0..CONTRACT_CLASS_LOG_SIZE_IN_FIELDS { + if j < log_len { + reconstructed_tx_effects[offset] = siloed_log.fields[j]; + offset += 1; + } + } } - offset += NUM_CC_LOGS; // Initial field = TX_START_PREFIX | 0 | txlen[0] txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revert_code // revert code = 0 diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_base_rollup.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_base_rollup.nr index 69968ee58a7f..dfc1dc9135cc 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_base_rollup.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_base_rollup.nr @@ -11,12 +11,16 @@ use crate::{ }; use dep::types::{ abis::{ - avm_circuit_public_inputs::AvmProofData, combined_constant_data::CombinedConstantData, - constant_rollup_data::ConstantRollupData, log_hash::ScopedLogHash, sponge_blob::SpongeBlob, + avm_circuit_public_inputs::AvmProofData, + combined_constant_data::CombinedConstantData, + constant_rollup_data::ConstantRollupData, + contract_class_log::{contract_class_log_array_merge, ContractClassLogData}, + side_effect::scoped::Scoped, + sponge_blob::SpongeBlob, tube::PublicTubeData, }, - constants::ARCHIVE_HEIGHT, - hash::silo_l2_to_l1_message, + constants::{ARCHIVE_HEIGHT, MAX_CONTRACT_CLASS_LOGS_PER_TX}, + hash::{silo_contract_class_log, silo_l2_to_l1_message}, merkle_tree::MembershipWitness, messaging::l2_to_l1_message::ScopedL2ToL1Message, traits::Hash, @@ -38,7 +42,7 @@ impl PublicBaseRollupInputs { self, reverted: bool, combined_constant_data: CombinedConstantData, - ) -> TxEffect { + ) -> (TxEffect, [u32; MAX_CONTRACT_CLASS_LOGS_PER_TX]) { let from_private = self.tube_data.public_inputs; let from_public = self.avm_proof_data.public_inputs; let revert_code = if reverted { 1 } else { 0 }; @@ -58,30 +62,34 @@ impl PublicBaseRollupInputs { from_private.revertible_accumulated_data.private_logs, ) }; - let contract_class_logs_hashes = if reverted { - from_private.non_revertible_accumulated_data.contract_class_logs_hashes + let contract_class_logs = if reverted { + from_private.non_revertible_accumulated_data.contract_class_logs } else { - array_merge( - from_private.non_revertible_accumulated_data.contract_class_logs_hashes, - from_private.revertible_accumulated_data.contract_class_logs_hashes, + contract_class_log_array_merge( + from_private.non_revertible_accumulated_data.contract_class_logs, + from_private.revertible_accumulated_data.contract_class_logs, ) }; - let contract_class_log_preimages_length = - contract_class_logs_hashes.fold(0, |len, l: ScopedLogHash| len + l.log_hash.length); - - TxEffect { - tx_hash: self.tube_data.public_inputs.hash(), - revert_code, - transaction_fee: from_public.transaction_fee, - note_hashes: from_public.accumulated_data.note_hashes, - nullifiers: from_public.accumulated_data.nullifiers, - l2_to_l1_msgs: siloed_l2_to_l1_msgs, - public_data_writes: from_public.accumulated_data.public_data_writes, - private_logs, - public_logs: from_public.accumulated_data.public_logs, - contract_class_log_preimages_length, - contract_class_logs_hashes, - } + let siloed_contract_class_logs = contract_class_logs.map( + |log: Scoped| silo_contract_class_log(log), + ); + // These lengths have been constrained in the kernels to be correct. + let contract_class_logs_lengths = contract_class_logs.map(|l| l.inner.log_size); + + ( + TxEffect { + tx_hash: self.tube_data.public_inputs.hash(), + revert_code, + transaction_fee: from_public.transaction_fee, + note_hashes: from_public.accumulated_data.note_hashes, + nullifiers: from_public.accumulated_data.nullifiers, + l2_to_l1_msgs: siloed_l2_to_l1_msgs, + public_data_writes: from_public.accumulated_data.public_data_writes, + private_logs, + public_logs: from_public.accumulated_data.public_logs, + contract_class_logs: siloed_contract_class_logs, + }, contract_class_logs_lengths, + ) } pub fn execute(self) -> BaseOrMergeRollupPublicInputs { @@ -120,12 +128,16 @@ impl PublicBaseRollupInputs { ); } - let tx_effect = self.generate_tx_effect(reverted, combined_constant_data); - // Append the tx effects for blob(s) + let (tx_effect, contract_class_logs_lengths) = + self.generate_tx_effect(reverted, combined_constant_data); let out_hash = compute_kernel_out_hash(tx_effect.l2_to_l1_msgs); - let end_sponge_blob = append_tx_effects_for_blob(tx_effect, self.start_sponge_blob); + let end_sponge_blob = append_tx_effects_for_blob( + tx_effect, + self.start_sponge_blob, + contract_class_logs_lengths, + ); // Perform membership checks that the notes provided exist within the historical trees data perform_archive_membership_check( @@ -171,7 +183,8 @@ mod tests { }, address::EthAddress, constants::{ - ARCHIVE_HEIGHT, AVM_VK_INDEX, CONTRACT_CLASS_LOGS_PREFIX, L2_L1_MSGS_PREFIX, + ARCHIVE_HEIGHT, AVM_VK_INDEX, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, + CONTRACT_CLASS_LOGS_PREFIX, L2_L1_MSGS_PREFIX, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NOTES_PREFIX, NULLIFIERS_PREFIX, PRIVATE_LOG_SIZE_IN_FIELDS, PRIVATE_LOGS_PREFIX, PUBLIC_DATA_UPDATE_REQUESTS_PREFIX, @@ -190,6 +203,7 @@ mod tests { traits::{Empty, Hash, Serialize}, utils::{arrays::array_concat, field::field_from_bytes}, }; + use types::hash::silo_contract_class_log; struct NullifierInsertion { existing_index: u32, @@ -310,6 +324,7 @@ mod tests { let start_sponge_blob = append_tx_effects_for_blob( tx_effect, SpongeBlob::new(TX_EFFECTS_BLOB_HASH_INPUT_FIELDS), + [0; MAX_CONTRACT_CLASS_LOGS_PER_TX], ); PublicBaseRollupInputs { @@ -374,8 +389,6 @@ mod tests { let inputs = builder.build_inputs(); let outputs = inputs.execute(); let mut tx_effects = [0; 54]; - // TODO(#8954): This test uses 50 notes and 4 extra absorbed fields - // This may change when logs are deconstructed // Initial field = TX_START_PREFIX | 0 | txlen[0] txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revert_code // The first 4 are: i=0 init field, i=1: tx hash, i=2: tx fee, i=3: note prefix tx_effects[0] = field_from_bytes( @@ -409,6 +422,8 @@ mod tests { let NUM_PRIV_EVENT_LOGS = 4; let NUM_PUB_LOGS = 6; let NUM_CC_LOGS = 1; + // Below will only work with NUM_CC_LOGS=1 + let cc_log = [1, 2, 3]; let PUB_DATA_SLOT = 25; let PUB_DATA_VALUE = 60; let TOTAL_BLOB_FIELDS = 3 // revert code, tx hash and tx fee @@ -420,7 +435,7 @@ mod tests { + 1 // L2 to L1 msgs and prefix + NUM_PUB_LOGS * PUBLIC_LOG_SIZE_IN_FIELDS + 1 // public logs and prefix - + NUM_CC_LOGS + + NUM_CC_LOGS * (cc_log.len() + 1) + 1 // contract class logs and prefix + 2 + 1 // single public data update (2 fields) and prefix @@ -450,7 +465,7 @@ mod tests { builder.tube_data.append_private_logs(NUM_PRIV_EVENT_LOGS); builder.avm_data.append_public_logs(NUM_PUB_LOGS); // Below will only work with NUM_CC_LOGS=1 - builder.tube_data.add_contract_class_log_hash(1, 2); + builder.tube_data.add_contract_class_log(cc_log); let inputs = builder.build_inputs(); let outputs = inputs.execute(); @@ -543,16 +558,26 @@ mod tests { } offset += NUM_PUB_LOGS * PUBLIC_LOG_SIZE_IN_FIELDS; // cc logs + let total_contract_class_logs_len = NUM_CC_LOGS * (cc_log.len() + 1); let contract_class_logs_prefix = - encode_blob_prefix(CONTRACT_CLASS_LOGS_PREFIX, NUM_CC_LOGS); + encode_blob_prefix(CONTRACT_CLASS_LOGS_PREFIX, total_contract_class_logs_len); reconstructed_tx_effects[offset] = contract_class_logs_prefix; offset += 1; for i in 0..NUM_CC_LOGS { - reconstructed_tx_effects[offset + i] = types::hash::silo_contract_class_log_hash( - builder.tube_data.contract_class_logs_hashes.storage()[i], - ); + let siloed_log = + silo_contract_class_log(builder.tube_data.contract_class_logs.storage()[i]); + let log_len = builder.tube_data.contract_class_logs.storage()[i].inner.log_size; + if log_len != 0 { + reconstructed_tx_effects[offset] = log_len as Field; + offset += 1; + } + for j in 0..CONTRACT_CLASS_LOG_SIZE_IN_FIELDS { + if j < log_len { + reconstructed_tx_effects[offset] = siloed_log.fields[j]; + offset += 1; + } + } } - offset += NUM_CC_LOGS; // Sanity check assert(offset == TOTAL_BLOB_FIELDS); diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/components.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/components.nr index 2bd31612fa10..4df473f7e95d 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/components.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/components.nr @@ -5,19 +5,19 @@ use crate::abis::{ use super::abis::tx_effect::TxEffect; use dep::types::{ abis::{ - log_hash::ScopedLogHash, private_log::PrivateLog, public_data_write::PublicDataWrite, - public_log::PublicLog, sponge_blob::SpongeBlob, + contract_class_log::ContractClassLog, private_log::PrivateLog, + public_data_write::PublicDataWrite, public_log::PublicLog, sponge_blob::SpongeBlob, }, constants::{ - AZTEC_MAX_EPOCH_DURATION, CONTRACT_CLASS_LOGS_PREFIX, L2_L1_MSGS_PREFIX, - MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, - MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, - MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NOTES_PREFIX, NULLIFIERS_PREFIX, - PRIVATE_LOG_SIZE_IN_FIELDS, PRIVATE_LOGS_PREFIX, PUBLIC_DATA_UPDATE_REQUESTS_PREFIX, - PUBLIC_LOG_SIZE_IN_FIELDS, PUBLIC_LOGS_PREFIX, REVERT_CODE_PREFIX, TX_FEE_PREFIX, - TX_START_PREFIX, + AZTEC_MAX_EPOCH_DURATION, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, CONTRACT_CLASS_LOGS_PREFIX, + L2_L1_MSGS_PREFIX, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, + MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, + MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NOTES_PREFIX, + NULLIFIERS_PREFIX, PRIVATE_LOG_SIZE_IN_FIELDS, PRIVATE_LOGS_PREFIX, + PUBLIC_DATA_UPDATE_REQUESTS_PREFIX, PUBLIC_LOG_SIZE_IN_FIELDS, PUBLIC_LOGS_PREFIX, + REVERT_CODE_PREFIX, TX_FEE_PREFIX, TX_START_PREFIX, }, - hash::{accumulate_sha256, silo_contract_class_log_hash}, + hash::accumulate_sha256, merkle_tree::VariableMerkleTree, traits::{Empty, Serialize}, utils::arrays::{array_length, array_merge}, @@ -149,10 +149,9 @@ pub fn encode_blob_prefix(input_type: u8, array_len: u32) -> Field { // MAX_NULLIFIERS_PER_TX fields for nullifiers // MAX_L2_TO_L1_MSGS_PER_TX for L2 to L1 messages // MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX public data update requests -> MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX * 2 fields -// TODO(#8954): When logs are refactored into fields, we will append the values here, for now appending the log hashes: // MAX_PRIVATE_LOGS_PER_TX * PRIVATE_LOG_SIZE_IN_FIELDS fields for private logs // MAX_PUBLIC_LOGS_PER_TX * PUBLIC_LOG_SIZE_IN_FIELDS fields for public logs -// MAX_CONTRACT_CLASS_LOGS_PER_TX fields for contract class logs +// MAX_CONTRACT_CLASS_LOGS_PER_TX * (CONTRACT_CLASS_LOG_SIZE_IN_FIELDS + 1) fields for contract class logs // 7 fields for prefixes for each of the above categories pub(crate) global TX_EFFECTS_BLOB_HASH_INPUT_FIELDS: u32 = 1 + 1 @@ -163,14 +162,16 @@ pub(crate) global TX_EFFECTS_BLOB_HASH_INPUT_FIELDS: u32 = 1 + MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX * 2 + MAX_PRIVATE_LOGS_PER_TX * PRIVATE_LOG_SIZE_IN_FIELDS + MAX_PUBLIC_LOGS_PER_TX * PUBLIC_LOG_SIZE_IN_FIELDS - + MAX_CONTRACT_CLASS_LOGS_PER_TX + + MAX_CONTRACT_CLASS_LOGS_PER_TX * (CONTRACT_CLASS_LOG_SIZE_IN_FIELDS + 1) + 7; pub(crate) fn append_tx_effects_for_blob( tx_effect: TxEffect, start_sponge_blob: SpongeBlob, + contract_class_logs_lengths: [u32; MAX_CONTRACT_CLASS_LOGS_PER_TX], ) -> SpongeBlob { - let (mut tx_effects_hash_input, offset) = get_tx_effects_hash_input(tx_effect); + let (mut tx_effects_hash_input, offset) = + get_tx_effects_hash_input(tx_effect, contract_class_logs_lengths); // NB: using start.absorb & returning start caused issues in ghost values appearing in // base_rollup_inputs.start when using a fresh sponge. These only appeared when simulating via wasm. @@ -187,6 +188,7 @@ pub(crate) fn append_tx_effects_for_blob( fn get_tx_effects_hash_input( tx_effect: TxEffect, + contract_class_logs_lengths: [u32; MAX_CONTRACT_CLASS_LOGS_PER_TX], ) -> ([Field; TX_EFFECTS_BLOB_HASH_INPUT_FIELDS], u32) { tx_effect.transaction_fee.assert_max_bit_size::<29 * 8>(); let TWO_POW_240 = 1766847064778384329583297500742918515827483896875618958121606201292619776; @@ -200,9 +202,7 @@ fn get_tx_effects_hash_input( let public_data_update_requests = tx_effect.public_data_writes; let private_logs = tx_effect.private_logs; let public_logs = tx_effect.public_logs; - let contract_class_logs = tx_effect.contract_class_logs_hashes.map(|log: ScopedLogHash| { - silo_contract_class_log_hash(log) - }); + let contract_class_logs = tx_effect.contract_class_logs; // Safety: This constructs the array of effects and is constrained below. let mut tx_effects_hash_input = unsafe { @@ -216,6 +216,7 @@ fn get_tx_effects_hash_input( private_logs, public_logs, contract_class_logs, + contract_class_logs_lengths, tx_effect.revert_code as Field, ) }; @@ -356,23 +357,39 @@ fn get_tx_effects_hash_input( offset += array_len; } - // TODO(#8954): When logs are refactored into fields, we will append the values here - // Currently appending the single log hash as an interim solution // CONTRACT CLASS LOGS - array_len = array_length(contract_class_logs); + // Note: we can use contract_class_logs_lengths here as they are constrained in the kernels to be zero if + // the log is empty, and the logs are constrained to be sorted L to R. + // This is cheaper because array_length uses is_empty, which is expensive for the log. + array_len = array_length(contract_class_logs_lengths); if array_len != 0 { let mut check_elt = true; - let contract_class_logs_prefix = encode_blob_prefix(CONTRACT_CLASS_LOGS_PREFIX, array_len); - assert_eq(tx_effects_hash_input[offset], contract_class_logs_prefix); + let prefix_index = offset; + let mut total_cc_log_len = 0; + offset += 1; for j in 0..MAX_CONTRACT_CLASS_LOGS_PER_TX { - check_elt &= j != array_len; - if check_elt { - assert_eq(tx_effects_hash_input[offset + j], contract_class_logs[j]); + // These lengths have been constrained in the kernels to be correct. + let log_len = contract_class_logs_lengths[j]; + if log_len != 0 { + assert_eq(tx_effects_hash_input[offset], log_len as Field); + offset += 1; + // plus one for prefix + total_cc_log_len += log_len + 1; + check_elt = true; + } + for k in 0..CONTRACT_CLASS_LOG_SIZE_IN_FIELDS { + check_elt &= k != log_len; + if check_elt { + assert_eq(tx_effects_hash_input[offset + k], contract_class_logs[j].fields[k]); + } } + offset += log_len; } - offset += array_len; + let contract_class_logs_prefix = + encode_blob_prefix(CONTRACT_CLASS_LOGS_PREFIX, total_cc_log_len); + assert_eq(tx_effects_hash_input[prefix_index], contract_class_logs_prefix); } // Now we know the number of fields appended, we can assign the first value: @@ -403,7 +420,8 @@ unconstrained fn get_tx_effects_hash_input_helper( public_data_update_requests: [PublicDataWrite; MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX], private_logs: [PrivateLog; MAX_PRIVATE_LOGS_PER_TX], public_logs: [PublicLog; MAX_PUBLIC_LOGS_PER_TX], - contract_class_logs: [Field; MAX_CONTRACT_CLASS_LOGS_PER_TX], + contract_class_logs: [ContractClassLog; MAX_CONTRACT_CLASS_LOGS_PER_TX], + contract_class_logs_lengths: [u32; MAX_CONTRACT_CLASS_LOGS_PER_TX], revert_code: Field, ) -> [Field; TX_EFFECTS_BLOB_HASH_INPUT_FIELDS] { let mut tx_effects_hash_input = [0; TX_EFFECTS_BLOB_HASH_INPUT_FIELDS]; @@ -510,19 +528,29 @@ unconstrained fn get_tx_effects_hash_input_helper( offset += array_len; } - // TODO(#8954): When logs are refactored into fields, we will append the values here - // Currently appending the single log hash as an interim solution // CONTRACT CLASS LOGS - let array_len = array_length(contract_class_logs); - if array_len != 0 { - let contract_class_logs_prefix = encode_blob_prefix(CONTRACT_CLASS_LOGS_PREFIX, array_len); - tx_effects_hash_input[offset] = contract_class_logs_prefix; + let num_cc_logs = array_length(contract_class_logs); + if num_cc_logs != 0 { + let prefix_index = offset; + let mut total_cc_log_len = 0; + offset += 1; - for j in 0..array_len { - tx_effects_hash_input[offset + j] = contract_class_logs[j]; + for j in 0..num_cc_logs { + let log_len = contract_class_logs_lengths[j]; + // prefix this log with its field length + tx_effects_hash_input[offset] = log_len as Field; + offset += 1; + for k in 0..log_len { + tx_effects_hash_input[offset] = contract_class_logs[j].fields[k]; + offset += 1; + } + // plus one for prefix + total_cc_log_len += log_len + 1; } - offset += array_len; + let contract_class_logs_prefix = + encode_blob_prefix(CONTRACT_CLASS_LOGS_PREFIX, total_cc_log_len); + tx_effects_hash_input[prefix_index] = contract_class_logs_prefix; } // Now we know the number of fields appended, we can assign the first value: diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_accumulated_data.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_accumulated_data.nr index 57007f52eb41..cecfc7fcdaac 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_accumulated_data.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_accumulated_data.nr @@ -1,6 +1,6 @@ use crate::{ abis::{ - log_hash::ScopedLogHash, + contract_class_log::ContractClassLogData, note_hash::ScopedNoteHash, nullifier::ScopedNullifier, private_call_request::PrivateCallRequest, @@ -24,7 +24,7 @@ pub struct PrivateAccumulatedData { pub l2_to_l1_msgs: [ScopedL2ToL1Message; MAX_L2_TO_L1_MSGS_PER_TX], pub private_logs: [Scoped; MAX_PRIVATE_LOGS_PER_TX], - pub contract_class_logs_hashes: [ScopedLogHash; MAX_CONTRACT_CLASS_LOGS_PER_TX], + pub contract_class_logs: [Scoped; MAX_CONTRACT_CLASS_LOGS_PER_TX], pub public_call_requests: [Counted; MAX_ENQUEUED_CALLS_PER_TX], pub private_call_stack: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX], @@ -51,7 +51,7 @@ impl Serialize for PrivateAccumulatedData { } for i in 0..MAX_CONTRACT_CLASS_LOGS_PER_TX { - fields.extend_from_array(self.contract_class_logs_hashes[i].serialize()); + fields.extend_from_array(self.contract_class_logs[i].serialize()); } for i in 0..MAX_ENQUEUED_CALLS_PER_TX { @@ -89,9 +89,9 @@ impl Deserialize for PrivateAccumulatedData { Scoped::deserialize, [Scoped::empty(); MAX_PRIVATE_LOGS_PER_TX], ), - contract_class_logs_hashes: reader.read_struct_array( - ScopedLogHash::deserialize, - [ScopedLogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], + contract_class_logs: reader.read_struct_array( + Scoped::deserialize, + [Scoped::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], ), public_call_requests: reader.read_struct_array( Counted::deserialize, @@ -113,7 +113,7 @@ impl Eq for PrivateAccumulatedData { & (self.nullifiers == other.nullifiers) & (self.l2_to_l1_msgs == other.l2_to_l1_msgs) & (self.private_logs == other.private_logs) - & (self.contract_class_logs_hashes == other.contract_class_logs_hashes) + & (self.contract_class_logs == other.contract_class_logs) & (self.public_call_requests == other.public_call_requests) & (self.private_call_stack == other.private_call_stack) } @@ -126,7 +126,7 @@ impl Empty for PrivateAccumulatedData { nullifiers: [ScopedNullifier::empty(); MAX_NULLIFIERS_PER_TX], l2_to_l1_msgs: [ScopedL2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_TX], private_logs: [Scoped::empty(); MAX_PRIVATE_LOGS_PER_TX], - contract_class_logs_hashes: [ScopedLogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], + contract_class_logs: [Scoped::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], public_call_requests: [Counted::empty(); MAX_ENQUEUED_CALLS_PER_TX], private_call_stack: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX], } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_accumulated_data_builder.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_accumulated_data_builder.nr index 76352b2f5695..e24603598759 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_accumulated_data_builder.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_accumulated_data_builder.nr @@ -1,7 +1,7 @@ use crate::{ abis::{ accumulated_data::private_accumulated_data::PrivateAccumulatedData, - log_hash::ScopedLogHash, + contract_class_log::ContractClassLogData, note_hash::ScopedNoteHash, nullifier::ScopedNullifier, private_call_request::PrivateCallRequest, @@ -24,7 +24,7 @@ pub struct PrivateAccumulatedDataBuilder { pub l2_to_l1_msgs: BoundedVec, pub private_logs: BoundedVec, MAX_PRIVATE_LOGS_PER_TX>, - pub contract_class_logs_hashes: BoundedVec, + pub contract_class_logs: BoundedVec, MAX_CONTRACT_CLASS_LOGS_PER_TX>, pub public_call_requests: BoundedVec, MAX_ENQUEUED_CALLS_PER_TX>, pub private_call_stack: BoundedVec, @@ -37,7 +37,7 @@ impl PrivateAccumulatedDataBuilder { nullifiers: self.nullifiers.storage(), l2_to_l1_msgs: self.l2_to_l1_msgs.storage(), private_logs: self.private_logs.storage(), - contract_class_logs_hashes: self.contract_class_logs_hashes.storage(), + contract_class_logs: self.contract_class_logs.storage(), public_call_requests: self.public_call_requests.storage(), private_call_stack: self.private_call_stack.storage(), } @@ -51,7 +51,7 @@ impl Empty for PrivateAccumulatedDataBuilder { nullifiers: BoundedVec::new(), l2_to_l1_msgs: BoundedVec::new(), private_logs: BoundedVec::new(), - contract_class_logs_hashes: BoundedVec::new(), + contract_class_logs: BoundedVec::new(), public_call_requests: BoundedVec::new(), private_call_stack: BoundedVec::new(), } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_public_accumulated_data.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_public_accumulated_data.nr index 9a386a7a0dc6..286c6b48c98d 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_public_accumulated_data.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_public_accumulated_data.nr @@ -1,6 +1,7 @@ use crate::{ abis::{ - log_hash::ScopedLogHash, private_log::PrivateLog, public_call_request::PublicCallRequest, + contract_class_log::ContractClassLogData, private_log::PrivateLog, + public_call_request::PublicCallRequest, side_effect::scoped::Scoped, }, messaging::l2_to_l1_message::ScopedL2ToL1Message, traits::{Deserialize, Empty, Serialize}, @@ -17,7 +18,8 @@ pub struct PrivateToPublicAccumulatedData { pub nullifiers: [Field; MAX_NULLIFIERS_PER_TX], pub l2_to_l1_msgs: [ScopedL2ToL1Message; MAX_L2_TO_L1_MSGS_PER_TX], pub private_logs: [PrivateLog; MAX_PRIVATE_LOGS_PER_TX], - pub contract_class_logs_hashes: [ScopedLogHash; MAX_CONTRACT_CLASS_LOGS_PER_TX], + // TODO(MW): Think about siloing contract class logs and what should be here + pub contract_class_logs: [Scoped; MAX_CONTRACT_CLASS_LOGS_PER_TX], pub public_call_requests: [PublicCallRequest; MAX_ENQUEUED_CALLS_PER_TX], } @@ -28,7 +30,7 @@ impl Empty for PrivateToPublicAccumulatedData { nullifiers: [0; MAX_NULLIFIERS_PER_TX], l2_to_l1_msgs: [ScopedL2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_TX], private_logs: [PrivateLog::empty(); MAX_PRIVATE_LOGS_PER_TX], - contract_class_logs_hashes: [ScopedLogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], + contract_class_logs: [Scoped::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], public_call_requests: [PublicCallRequest::empty(); MAX_ENQUEUED_CALLS_PER_TX], } } @@ -40,7 +42,7 @@ impl Eq for PrivateToPublicAccumulatedData { & (self.nullifiers == other.nullifiers) & (self.l2_to_l1_msgs == other.l2_to_l1_msgs) & (self.private_logs == other.private_logs) - & (self.contract_class_logs_hashes == other.contract_class_logs_hashes) + & (self.contract_class_logs == other.contract_class_logs) & (self.public_call_requests == other.public_call_requests) } } @@ -58,8 +60,8 @@ impl Serialize for PrivateToPublicAcc for i in 0..self.private_logs.len() { fields.extend_from_array(self.private_logs[i].serialize()); } - for i in 0..self.contract_class_logs_hashes.len() { - fields.extend_from_array(self.contract_class_logs_hashes[i].serialize()); + for i in 0..self.contract_class_logs.len() { + fields.extend_from_array(self.contract_class_logs[i].serialize()); } for i in 0..self.public_call_requests.len() { fields.extend_from_array(self.public_call_requests[i].serialize()); @@ -88,9 +90,9 @@ impl Deserialize for PrivateToPublicA PrivateLog::deserialize, [PrivateLog::empty(); MAX_PRIVATE_LOGS_PER_TX], ), - contract_class_logs_hashes: reader.read_struct_array( - ScopedLogHash::deserialize, - [ScopedLogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], + contract_class_logs: reader.read_struct_array( + Scoped::deserialize, + [Scoped::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], ), public_call_requests: reader.read_struct_array( PublicCallRequest::deserialize, diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_public_accumulated_data_builder.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_public_accumulated_data_builder.nr index dd2625af85a6..84f85aeaee59 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_public_accumulated_data_builder.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_public_accumulated_data_builder.nr @@ -1,7 +1,8 @@ use crate::{ abis::{ accumulated_data::private_to_public_accumulated_data::PrivateToPublicAccumulatedData, - log_hash::ScopedLogHash, private_log::PrivateLog, public_call_request::PublicCallRequest, + contract_class_log::ContractClassLogData, private_log::PrivateLog, + public_call_request::PublicCallRequest, side_effect::scoped::Scoped, }, constants::{ MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, @@ -17,7 +18,8 @@ pub struct PrivateToPublicAccumulatedDataBuilder { pub nullifiers: BoundedVec, pub l2_to_l1_msgs: BoundedVec, pub private_logs: BoundedVec, - pub contract_class_logs_hashes: BoundedVec, + // TODO(MW): Think about siloing contract class logs and what should be here + pub contract_class_logs: BoundedVec, MAX_CONTRACT_CLASS_LOGS_PER_TX>, pub public_call_requests: BoundedVec, } @@ -28,7 +30,7 @@ impl PrivateToPublicAccumulatedDataBuilder { nullifiers: array_to_bounded_vec(data.nullifiers), l2_to_l1_msgs: array_to_bounded_vec(data.l2_to_l1_msgs), private_logs: array_to_bounded_vec(data.private_logs), - contract_class_logs_hashes: array_to_bounded_vec(data.contract_class_logs_hashes), + contract_class_logs: array_to_bounded_vec(data.contract_class_logs), public_call_requests: array_to_bounded_vec(data.public_call_requests), } } @@ -39,7 +41,7 @@ impl PrivateToPublicAccumulatedDataBuilder { nullifiers: self.nullifiers.storage(), l2_to_l1_msgs: self.l2_to_l1_msgs.storage(), private_logs: self.private_logs.storage(), - contract_class_logs_hashes: self.contract_class_logs_hashes.storage(), + contract_class_logs: self.contract_class_logs.storage(), public_call_requests: self.public_call_requests.storage(), } } @@ -52,7 +54,7 @@ impl Empty for PrivateToPublicAccumulatedDataBuilder { nullifiers: BoundedVec::new(), l2_to_l1_msgs: BoundedVec::new(), private_logs: BoundedVec::new(), - contract_class_logs_hashes: BoundedVec::new(), + contract_class_logs: BoundedVec::new(), public_call_requests: BoundedVec::new(), } } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_rollup_accumulated_data.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_rollup_accumulated_data.nr index 1d34dab228a7..4b0612ec453d 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_rollup_accumulated_data.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/accumulated_data/private_to_rollup_accumulated_data.nr @@ -1,5 +1,8 @@ use crate::{ - abis::{log_hash::ScopedLogHash, private_log::PrivateLog}, + abis::{ + contract_class_log::ContractClassLogData, private_log::PrivateLog, + side_effect::scoped::Scoped, + }, constants::{ MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH, @@ -15,11 +18,8 @@ pub struct PrivateToRollupAccumulatedData { pub l2_to_l1_msgs: [ScopedL2ToL1Message; MAX_L2_TO_L1_MSGS_PER_TX], pub private_logs: [PrivateLog; MAX_PRIVATE_LOGS_PER_TX], - pub contract_class_logs_hashes: [ScopedLogHash; MAX_CONTRACT_CLASS_LOGS_PER_TX], - - // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the - // variable-length data. - pub contract_class_log_preimages_length: Field, + // TODO(MW): Think about siloing contract class logs and what should be here + pub contract_class_logs: [Scoped; MAX_CONTRACT_CLASS_LOGS_PER_TX], } impl Empty for PrivateToRollupAccumulatedData { @@ -29,8 +29,7 @@ impl Empty for PrivateToRollupAccumulatedData { nullifiers: [0; MAX_NULLIFIERS_PER_TX], l2_to_l1_msgs: [ScopedL2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_TX], private_logs: [PrivateLog::empty(); MAX_PRIVATE_LOGS_PER_TX], - contract_class_logs_hashes: [ScopedLogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], - contract_class_log_preimages_length: 0, + contract_class_logs: [Scoped::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], } } } @@ -48,10 +47,9 @@ impl Serialize for PrivateToRollupAcc for i in 0..self.private_logs.len() { fields.extend_from_array(self.private_logs[i].serialize()); } - for i in 0..self.contract_class_logs_hashes.len() { - fields.extend_from_array(self.contract_class_logs_hashes[i].serialize()); + for i in 0..self.contract_class_logs.len() { + fields.extend_from_array(self.contract_class_logs[i].serialize()); } - fields.push(self.contract_class_log_preimages_length); assert_eq(fields.len(), PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH); @@ -76,11 +74,10 @@ impl Deserialize for PrivateToRollupA PrivateLog::deserialize, [PrivateLog::empty(); MAX_PRIVATE_LOGS_PER_TX], ), - contract_class_logs_hashes: reader.read_struct_array( - ScopedLogHash::deserialize, - [ScopedLogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], + contract_class_logs: reader.read_struct_array( + Scoped::deserialize, + [Scoped::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX], ), - contract_class_log_preimages_length: reader.read(), }; reader.finish(); item @@ -93,11 +90,7 @@ impl Eq for PrivateToRollupAccumulatedData { & (self.nullifiers == other.nullifiers) & (self.l2_to_l1_msgs == other.l2_to_l1_msgs) & (self.private_logs == other.private_logs) - & (self.contract_class_logs_hashes == other.contract_class_logs_hashes) - & ( - self.contract_class_log_preimages_length - == other.contract_class_log_preimages_length - ) + & (self.contract_class_logs == other.contract_class_logs) } } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/contract_class_log.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/contract_class_log.nr new file mode 100644 index 000000000000..14251d07419e --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/contract_class_log.nr @@ -0,0 +1,418 @@ +use crate::{ + abis::{log::Log, side_effect::{Ordered, scoped::Scoped}}, + address::AztecAddress, + constants::{CONTRACT_CLASS_LOG_DATA_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS}, + traits::{Deserialize, Empty, Serialize}, + utils::{ + arrays::{ + array_concat, assert_exposed_sorted_transformed_value_array::get_order_hints::OrderHint, + find_index_hint, find_index_hint_from_end, + }, + reader::Reader, + }, +}; + +// TODO(MW): add new constant for this - the below is just the largest combination atm +pub type ContractClassLog = Log; + +// log_size is the actual length of the log we want to emit in fields. +// We use it to check is_empty() because checking 3k+ fields many times is expensive. +// We only need to constrain the log_size once (init and inner) , and can then use it in future kernels. +pub struct ContractClassLogData { + pub log: ContractClassLog, + pub counter: u32, + pub log_size: u32, +} + +impl Ordered for ContractClassLogData { + fn counter(self) -> u32 { + self.counter + } +} + +impl Eq for ContractClassLogData { + fn eq(self, other: ContractClassLogData) -> bool { + (self.log == other.log) + & (self.counter == other.counter) + & (self.log_size == other.log_size) + } +} + +impl Empty for ContractClassLogData { + fn empty() -> Self { + Self { log: ContractClassLog::empty(), counter: 0, log_size: 0 } + } +} + +impl ContractClassLogData { + // WARNING: can only be used when log_size has been constrained to be the log length + pub fn is_empty(self) -> bool { + (self.log_size == 0) & (self.counter == 0) + } + + pub fn with_log_size_hint(self) -> Self { + // Safety: this just returns a hint and is contrained elsewhere (in validate_log_size_hint(), called by each init and inner kernel) + Self { + log: self.log, + counter: self.counter, + log_size: unsafe { find_index_hint_from_end(self.log.fields, |f| f == 0) }, + } + } + + // NB: 15k gates + pub fn validate_log_size_hint(self) { + // Constrain that length_hint is correct by checking all elts after length_hint are zero + let mut check_zero = false; + for j in 0..self.log.fields.len() { + // 3 * N gates (= 9k) + check_zero |= j == self.log_size; + if check_zero { + // 2 * N gates (= 6k) + assert_eq( + self.log.fields[j], + 0, + "found non-0 elt in contract class log after claimed length", + ); + } + } + assert_eq( + self.log_size, + self.with_log_size_hint().log_size, + "contract class log does not have correct size, try calling log.with_log_size_hint()", + ); + } +} + +impl Serialize for ContractClassLogData { + fn serialize(self) -> [Field; CONTRACT_CLASS_LOG_DATA_LENGTH] { + array_concat( + self.log.serialize(), + [self.counter as Field, self.log_size as Field], + ) + } +} + +impl Deserialize for ContractClassLogData { + fn deserialize(fields: [Field; CONTRACT_CLASS_LOG_DATA_LENGTH]) -> Self { + let mut reader = Reader::new(fields); + Self { + log: reader.read_struct(ContractClassLog::deserialize), + counter: reader.read_u32(), + log_size: reader.read_u32(), + } + } +} + +impl ContractClassLogData { + pub fn scope(self, contract_address: AztecAddress) -> Scoped { + Scoped { inner: self, contract_address } + } +} + +impl Ordered for Scoped { + fn counter(self) -> u32 { + self.inner.counter + } +} + +impl Scoped { + pub fn expose_to_public(self) -> Self { + Scoped { + inner: ContractClassLogData { + log: self.inner.log, + counter: 0, + log_size: self.inner.log_size, + }, + contract_address: self.contract_address, + } + } + + // WARNING: can only be used when log_size has been constrained to be the log length + pub fn is_empty(self) -> bool { + (self.inner.log_size == 0) & (self.inner.counter == 0) & (self.contract_address.is_zero()) + } +} + +// Like assert_array_appended_and_scoped, but for contract class logs where we have the special is_empty +// and transformation of log.log_size from private_call to public_inputs. +// Called for each private call added in init and inner kernels. Constrains log_size is correct. +pub fn assert_contract_class_logs_appended_and_scoped( + dest: [Scoped; N], + source: [ContractClassLogData; M], + num_source_items: u32, + num_prepended_items: u32, + contract_address: AztecAddress, +) { + let items_propagated = num_prepended_items + num_source_items; + assert(items_propagated <= N, "number of total items exceeds limit"); + let mut should_check = false; + let mut is_non_empty_item = true; + for i in 0..dest.len() { + should_check |= i == num_prepended_items; + is_non_empty_item &= i != items_propagated; + if should_check { + if is_non_empty_item { + assert_eq( + dest[i].inner, + source[i - num_prepended_items].with_log_size_hint(), + "source item does not append to dest", + ); + assert_eq( + dest[i].contract_address, + contract_address, + "propagated contract address does not match", + ); + } else { + assert(dest[i].is_empty(), "output should be appended with empty items"); + } + // We check every log, including empty ones, to constrain that log_size is correct + dest[i].inner.validate_log_size_hint(); + } + } +} + +// Like assert_split_sorted_transformed_value_arrays, but for contract class logs where we have the special is_empty. +// Called in tail to public validation phase. +pub fn assert_split_sorted_transformed_contract_class_logs( + original_array: [Scoped; N], + transformed_value_array: [Scoped; N], + split_counter: u32, + sorted_transformed_value_array_lt: [Scoped; N], // Values whose counters are less than the split counter. + sorted_transformed_value_array_gte: [Scoped; N], // Values whose counters are greater than or equal to the split counter. + sorted_counters_lt: [u32; N], // Counters of the values in sorted_transformed_value_array_lt. + sorted_counters_gte: [u32; N], // Counters of the values in sorted_transformed_value_array_gte. + index_hints: [u32; N], // The index of the item in the correspinding sorted_transformed_value_array_(lt/gte) for each item in the original_array. + ascending: bool, // Whether the items in sorted_transformed_value_array_(lt/gte) is in ascending order. +) { + let total_num = contract_class_log_array_length(original_array); + + let mut num_lt = 0; + let mut num_gte = 0; + let mut should_check = true; + for i in 0..N { + should_check &= i != total_num; + if should_check { + let original = original_array[i]; + let value = transformed_value_array[i]; + let sorted_index = index_hints[i]; + // NB: The array access/comparison here costs 15k gates per clause, though only around 3k values are compared + if original.counter() < split_counter { + assert_eq( + value, + sorted_transformed_value_array_lt[sorted_index], + "mismatch sorted values", + ); + assert_eq( + original.counter(), + sorted_counters_lt[sorted_index], + "mismatch counters", + ); + num_lt += 1; + } else { + assert_eq( + value, + sorted_transformed_value_array_gte[sorted_index], + "mismatch sorted values", + ); + assert_eq( + original.counter(), + sorted_counters_gte[sorted_index], + "mismatch counters", + ); + num_gte += 1; + } + } + } + + for i in 1..N { + if i < num_lt { + let counter = sorted_counters_lt[i]; + let prev_counter = sorted_counters_lt[i - 1]; + assert(ascending == (counter > prev_counter), "value array must be sorted by counter"); + assert(counter != prev_counter, "counters must not be the same"); + } + if i < num_gte { + let counter = sorted_counters_gte[i]; + let prev_counter = sorted_counters_gte[i - 1]; + assert(ascending == (counter > prev_counter), "value array must be sorted by counter"); + assert(counter != prev_counter, "counters must not be the same"); + } + } + + let num_non_empty_values_lt = + validate_scoped_contract_class_log_array(sorted_transformed_value_array_lt); + assert_eq(num_non_empty_values_lt, num_lt, "mismatch number of values lt"); + + let num_non_empty_values_gte = + validate_scoped_contract_class_log_array(sorted_transformed_value_array_gte); + assert_eq(num_non_empty_values_gte, num_gte, "mismatch number of values gte"); +} + +// Like assert_exposed_sorted_transformed_value_array, but for contract class logs where we have the special is_empty. +// Called in tail validation phase. +// NB: 15k gates +pub fn assert_exposed_sorted_transformed_contract_class_logs( + original_array: [Scoped; N], + exposed_sorted_transformed_value_array: [Scoped; N], + hints: [OrderHint; N], +) { + let num_non_empty_items = contract_class_log_array_length(original_array); + let mut should_be_empty = false; + for i in 0..N { + should_be_empty |= i == num_non_empty_items; + if should_be_empty { + assert( + exposed_sorted_transformed_value_array[i].is_empty(), + "array must be padded with empty items", + ); + } else { + let original = original_array[i]; + let sorted_index = hints[i].sorted_index; + let sorted = exposed_sorted_transformed_value_array[sorted_index]; + assert_eq(original.expose_to_public(), sorted, "incorrect transformed value"); + assert_eq(original.counter(), hints[sorted_index].counter, "incorrect hinted counter"); + if i != 0 { + assert( + hints[i].counter > hints[i - 1].counter, + "value array must be sorted by counter in ascending order", + ); + } + } + } +} + +// Routine which validates that all zero values of an array form a contiguous region at the end, i.e., +// of the form: [*,*,*...,0,0,0,0] where any * is non-zero. Note that a full array of non-zero values is +// valid. +// We can use log.is_empty() since the private call's log_size has been constrained in prev kernels. +fn validate_scoped_contract_class_log_array( + array: [Scoped; N], +) -> u32 { + let mut seen_empty = false; + let mut length = 0; + for i in 0..N { + if array[i].is_empty() { + seen_empty = true; + } else { + assert(seen_empty == false, "invalid array"); + length += 1; + } + } + length +} + +pub fn validate_contract_class_log_array(array: [ContractClassLogData; N]) -> u32 { + let mut seen_empty = false; + let mut length = 0; + for i in 0..N { + if array[i].is_empty() { + seen_empty = true; + } else { + assert(seen_empty == false, "invalid array"); + length += 1; + } + } + length +} + +// We can use log.is_empty() since the private call's log_size has been constrained in prev kernels. +pub fn contract_class_log_array_length( + array: [Scoped; N], +) -> u32 { + // We get the length by checking the index of the first empty element. + // Safety: This is safe because we have validated the array (or will shortly after this call) + let length = unsafe { find_index_hint(array, |elem| elem.is_empty()) }; + if length != 0 { + assert(!array[length - 1].is_empty()); + } + if length != N { + assert(array[length].is_empty()); + } + length +} + +// We can use log.is_empty() since the private call's log_size has been constrained in prev kernels. +pub fn contract_class_log_array_merge( + array1: [Scoped; N], + array2: [Scoped; N], +) -> [Scoped; N] { + // Safety: we constrain this array below + let result = unsafe { contract_class_log_array_merge_helper(array1, array2) }; + let left_len = contract_class_log_array_length(array1); + let mut add_from_left = true; + for i in 0..N { + add_from_left &= i != left_len; + if add_from_left { + assert_eq(result[i], array1[i]); + } else { + assert_eq(result[i], array2[i - left_len]); + } + } + result +} + +unconstrained fn contract_class_log_array_merge_helper( + array1: [Scoped; N], + array2: [Scoped; N], +) -> [Scoped; N] { + let mut result: [Scoped; N] = array1; + let mut i = contract_class_log_array_length(array1); + for j in i..N { + result[j] = array2[j - i]; + } + result +} + +#[test] +fn serialization_of_empty_contract_class_log() { + let item = ContractClassLogData::empty(); + let serialized = item.serialize(); + let deserialized = ContractClassLogData::deserialize(serialized); + assert(item.eq(deserialized)); +} + +#[test] +fn validation_of_contract_class_log_size_succeeds() { + let log_fields = [7; 7]; + let logs = [ + ContractClassLogData::empty(), + ContractClassLogData { + log: ContractClassLog { + fields: array_concat(log_fields, [0; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - 7]), + }, + counter: 0, + log_size: 0, + }, + ]; + let logs_with_hint = logs.map(|l| l.with_log_size_hint()); + assert_eq(logs_with_hint[0].log_size, 0); + logs_with_hint[0].validate_log_size_hint(); + assert_eq(logs_with_hint[1].log_size, log_fields.len()); + logs_with_hint[1].validate_log_size_hint(); +} + +#[test(should_fail_with = "found non-0 elt in contract class log after claimed length")] +fn validation_of_contract_class_log_size_fails_too_long() { + let log_fields = [7; 7]; + let log = ContractClassLogData { + log: ContractClassLog { + fields: array_concat(log_fields, [0; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - 7]), + }, + counter: 0, + log_size: log_fields.len() - 2, + }; + log.validate_log_size_hint(); +} + +#[test(should_fail_with = "contract class log does not have correct size, try calling log.with_log_size_hint()")] +fn validation_of_contract_class_log_size_fails_too_short() { + let log_fields = [7; 7]; + let log = ContractClassLogData { + log: ContractClassLog { + fields: array_concat(log_fields, [0; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - 7]), + }, + counter: 0, + log_size: log_fields.len() + 2, + }; + log.validate_log_size_hint(); +} diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/kernel_circuit_public_inputs/private_kernel_circuit_public_inputs.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/kernel_circuit_public_inputs/private_kernel_circuit_public_inputs.nr index 0bc3cc670c9a..68472d0b0fec 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/kernel_circuit_public_inputs/private_kernel_circuit_public_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/kernel_circuit_public_inputs/private_kernel_circuit_public_inputs.nr @@ -1,6 +1,7 @@ use crate::{ abis::{ - accumulated_data::PrivateAccumulatedData, public_call_request::PublicCallRequest, + accumulated_data::PrivateAccumulatedData, + contract_class_log::contract_class_log_array_length, public_call_request::PublicCallRequest, tx_constant_data::TxConstantData, validation_requests::PrivateValidationRequests, }, address::AztecAddress, @@ -17,7 +18,7 @@ pub struct PrivateKernelCircuitPublicInputsArrayLengths { pub nullifiers: u32, pub l2_to_l1_msgs: u32, pub private_logs: u32, - pub contract_class_logs_hashes: u32, + pub contract_class_logs: u32, pub public_call_requests: u32, pub private_call_stack: u32, } @@ -38,7 +39,9 @@ impl PrivateKernelCircuitPublicInputsArrayLengths { nullifiers: array_length(public_inputs.end.nullifiers), l2_to_l1_msgs: array_length(public_inputs.end.l2_to_l1_msgs), private_logs: array_length(public_inputs.end.private_logs), - contract_class_logs_hashes: array_length(public_inputs.end.contract_class_logs_hashes), + contract_class_logs: contract_class_log_array_length( + public_inputs.end.contract_class_logs, + ), public_call_requests: array_length(public_inputs.end.public_call_requests), private_call_stack: array_length(public_inputs.end.private_call_stack), } @@ -53,7 +56,7 @@ impl PrivateKernelCircuitPublicInputsArrayLengths { nullifiers: 0, l2_to_l1_msgs: 0, private_logs: 0, - contract_class_logs_hashes: 0, + contract_class_logs: 0, public_call_requests: 0, private_call_stack: 0, } @@ -72,7 +75,7 @@ impl Eq for PrivateKernelCircuitPublicInputsArrayLengths { & (self.nullifiers == other.nullifiers) & (self.l2_to_l1_msgs == other.l2_to_l1_msgs) & (self.private_logs == other.private_logs) - & (self.contract_class_logs_hashes == other.contract_class_logs_hashes) + & (self.contract_class_logs == other.contract_class_logs) & (self.public_call_requests == other.public_call_requests) & (self.private_call_stack == other.private_call_stack) } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr deleted file mode 100644 index 483bc3e39f94..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr +++ /dev/null @@ -1,130 +0,0 @@ -use crate::{ - abis::side_effect::{Ordered, OrderedValue, Scoped}, - address::AztecAddress, - constants::{LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH}, - traits::{Deserialize, Empty, Serialize, ToField}, - utils::{arrays::array_concat, reader::Reader}, -}; - -pub struct LogHash { - pub value: Field, - pub counter: u32, - pub length: Field, -} - -impl Ordered for LogHash { - fn counter(self) -> u32 { - self.counter - } -} - -impl OrderedValue for LogHash { - fn value(self) -> Field { - self.value - } -} - -impl Eq for LogHash { - fn eq(self, other: LogHash) -> bool { - (self.value == other.value) - & (self.counter == other.counter) - & (self.length == other.length) - } -} - -impl Empty for LogHash { - fn empty() -> Self { - LogHash { value: 0, counter: 0, length: 0 } - } -} - -impl Serialize for LogHash { - fn serialize(self) -> [Field; LOG_HASH_LENGTH] { - [self.value, self.counter as Field, self.length] - } -} - -impl Deserialize for LogHash { - fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self { - Self { value: values[0], counter: values[1] as u32, length: values[2] } - } -} - -impl LogHash { - pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash { - ScopedLogHash { log_hash: self, contract_address } - } -} - -pub struct ScopedLogHash { - pub log_hash: LogHash, - pub contract_address: AztecAddress, -} - -impl Scoped for ScopedLogHash { - fn inner(self) -> LogHash { - self.log_hash - } - fn contract_address(self) -> AztecAddress { - self.contract_address - } -} - -impl Ordered for ScopedLogHash { - fn counter(self) -> u32 { - self.log_hash.counter - } -} - -impl OrderedValue for ScopedLogHash { - fn value(self) -> Field { - self.log_hash.value - } -} - -impl Eq for ScopedLogHash { - fn eq(self, other: ScopedLogHash) -> bool { - (self.log_hash == other.log_hash) & (self.contract_address == other.contract_address) - } -} - -impl Empty for ScopedLogHash { - fn empty() -> Self { - ScopedLogHash { log_hash: LogHash::empty(), contract_address: AztecAddress::empty() } - } -} - -impl Serialize for ScopedLogHash { - fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] { - array_concat( - self.log_hash.serialize(), - [self.contract_address.to_field()], - ) - } -} - -impl Deserialize for ScopedLogHash { - fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self { - let mut reader = Reader::new(values); - let res = Self { - log_hash: reader.read_struct(LogHash::deserialize), - contract_address: reader.read_struct(AztecAddress::deserialize), - }; - reader.finish(); - res - } -} - -impl ScopedLogHash { - pub fn expose_to_public(self) -> Self { - // Hide the counter when exposing to public. - Self { - log_hash: LogHash { - value: self.log_hash.value, - counter: 0, - length: self.log_hash.length, - }, - contract_address: self.contract_address, - } - } -} diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/mod.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/mod.nr index 8f2b3c321206..bd88c3a08590 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/mod.nr @@ -21,7 +21,7 @@ pub mod read_request; pub mod log; pub mod private_log; pub mod public_log; -pub mod log_hash; +pub mod contract_class_log; pub mod note_hash; pub mod nullifier; pub mod public_data_write; diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr index 217d97ddffce..f878d8eb307f 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr @@ -1,9 +1,15 @@ use crate::{ abis::{ - call_context::CallContext, log_hash::LogHash, max_block_number::MaxBlockNumber, - note_hash::NoteHash, nullifier::Nullifier, private_call_request::PrivateCallRequest, - private_log::PrivateLogData, public_call_request::PublicCallRequest, - read_request::ReadRequest, side_effect::Counted, + call_context::CallContext, + contract_class_log::{ContractClassLogData, validate_contract_class_log_array}, + max_block_number::MaxBlockNumber, + note_hash::NoteHash, + nullifier::Nullifier, + private_call_request::PrivateCallRequest, + private_log::PrivateLogData, + public_call_request::PublicCallRequest, + read_request::ReadRequest, + side_effect::Counted, validation_requests::KeyValidationRequestAndGenerator, }, block_header::BlockHeader, @@ -31,7 +37,7 @@ pub struct PrivateCircuitPublicInputsArrayLengths { pub private_call_requests: u32, pub public_call_requests: u32, pub private_logs: u32, - pub contract_class_logs_hashes: u32, + pub contract_class_logs: u32, } impl PrivateCircuitPublicInputsArrayLengths { @@ -48,7 +54,9 @@ impl PrivateCircuitPublicInputsArrayLengths { private_call_requests: validate_array(public_inputs.private_call_requests), public_call_requests: validate_array(public_inputs.public_call_requests), private_logs: validate_array(public_inputs.private_logs), - contract_class_logs_hashes: validate_array(public_inputs.contract_class_logs_hashes), + contract_class_logs: validate_contract_class_log_array( + public_inputs.contract_class_logs, + ), } } } @@ -76,7 +84,7 @@ pub struct PrivateCircuitPublicInputs { pub public_teardown_call_request: PublicCallRequest, pub l2_to_l1_msgs: [L2ToL1Message; MAX_L2_TO_L1_MSGS_PER_CALL], pub private_logs: [PrivateLogData; MAX_PRIVATE_LOGS_PER_CALL], - pub contract_class_logs_hashes: [LogHash; MAX_CONTRACT_CLASS_LOGS_PER_CALL], + pub contract_class_logs: [ContractClassLogData; MAX_CONTRACT_CLASS_LOGS_PER_CALL], pub start_side_effect_counter: u32, pub end_side_effect_counter: u32, @@ -110,7 +118,7 @@ impl Eq for PrivateCircuitPublicInputs { & (self.public_call_requests == other.public_call_requests) & (self.l2_to_l1_msgs == other.l2_to_l1_msgs) & (self.private_logs == other.private_logs) - & (self.contract_class_logs_hashes == other.contract_class_logs_hashes) + & (self.contract_class_logs == other.contract_class_logs) & (self.start_side_effect_counter == other.start_side_effect_counter) & (self.end_side_effect_counter == other.end_side_effect_counter) & self.historical_header.eq(other.historical_header) @@ -158,8 +166,8 @@ impl Serialize for PrivateCircuitPublicInp for i in 0..self.private_logs.len() { fields.extend_from_array(self.private_logs[i].serialize()); } - for i in 0..self.contract_class_logs_hashes.len() { - fields.extend_from_array(self.contract_class_logs_hashes[i].serialize()); + for i in 0..self.contract_class_logs.len() { + fields.extend_from_array(self.contract_class_logs[i].serialize()); } fields.push(self.start_side_effect_counter as Field); fields.push(self.end_side_effect_counter as Field); @@ -220,9 +228,9 @@ impl Deserialize for PrivateCircuitPublicI PrivateLogData::deserialize, [PrivateLogData::empty(); MAX_PRIVATE_LOGS_PER_CALL], ), - contract_class_logs_hashes: reader.read_struct_array( - LogHash::deserialize, - [LogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_CALL], + contract_class_logs: reader.read_struct_array( + ContractClassLogData::deserialize, + [ContractClassLogData::empty(); MAX_CONTRACT_CLASS_LOGS_PER_CALL], ), start_side_effect_counter: reader.read() as u32, end_side_effect_counter: reader.read() as u32, @@ -258,7 +266,7 @@ impl Empty for PrivateCircuitPublicInputs { public_teardown_call_request: PublicCallRequest::empty(), l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL], private_logs: [PrivateLogData::empty(); MAX_PRIVATE_LOGS_PER_CALL], - contract_class_logs_hashes: [LogHash::empty(); MAX_CONTRACT_CLASS_LOGS_PER_CALL], + contract_class_logs: [ContractClassLogData::empty(); MAX_CONTRACT_CLASS_LOGS_PER_CALL], start_side_effect_counter: 0 as u32, end_side_effect_counter: 0 as u32, historical_header: BlockHeader::empty(), diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr index 57675a3d2bda..c6c4144349fb 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr @@ -254,8 +254,12 @@ pub global PRIVATE_LOG_DATA_LENGTH: u32 = PRIVATE_LOG_SIZE_IN_FIELDS + 1 /* note_hash_counter */ + 1 /* counter */; pub global SCOPED_PRIVATE_LOG_DATA_LENGTH: u32 = PRIVATE_LOG_DATA_LENGTH + 1; -pub global LOG_HASH_LENGTH: u32 = 3; -pub global SCOPED_LOG_HASH_LENGTH: u32 = LOG_HASH_LENGTH + 1; +// TODO(MW): add new constant for this - the below is just the largest combination atm +pub global CONTRACT_CLASS_LOG_SIZE_IN_FIELDS: u32 = MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS + + REGISTERER_PRIVATE_FUNCTION_BROADCASTED_ADDITIONAL_FIELDS; +pub global CONTRACT_CLASS_LOG_DATA_LENGTH: u32 = + CONTRACT_CLASS_LOG_SIZE_IN_FIELDS + 1 /* counter */ + 1 /* log_size*/; +pub global SCOPED_CONTRACT_CLASS_LOG_DATA_LENGTH: u32 = CONTRACT_CLASS_LOG_DATA_LENGTH + 1; pub global NOTE_HASH_LENGTH: u32 = 2; pub global SCOPED_NOTE_HASH_LENGTH: u32 = NOTE_HASH_LENGTH + 1; pub global NULLIFIER_LENGTH: u32 = 3; @@ -308,7 +312,7 @@ pub global PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: u32 = CALL_CONTEXT_LENGTH + (L2_TO_L1_MESSAGE_LENGTH * MAX_L2_TO_L1_MSGS_PER_CALL) + 2 + (PRIVATE_LOG_DATA_LENGTH * MAX_PRIVATE_LOGS_PER_CALL) - + (LOG_HASH_LENGTH * MAX_CONTRACT_CLASS_LOGS_PER_CALL) + + (CONTRACT_CLASS_LOG_DATA_LENGTH * MAX_CONTRACT_CLASS_LOGS_PER_CALL) + BLOCK_HEADER_LENGTH + TX_CONTEXT_LENGTH; pub global PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH: u32 = CALL_CONTEXT_LENGTH @@ -350,8 +354,7 @@ pub global PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH: u32 = MAX_NOTE_HASHES_PER_ + MAX_NULLIFIERS_PER_TX + (MAX_L2_TO_L1_MSGS_PER_TX * SCOPED_L2_TO_L1_MESSAGE_LENGTH) + (PRIVATE_LOG_SIZE_IN_FIELDS * MAX_PRIVATE_LOGS_PER_TX) - + (SCOPED_LOG_HASH_LENGTH * MAX_CONTRACT_CLASS_LOGS_PER_TX) - + 1 /* contract_class_log_preimages_length */; + + (SCOPED_CONTRACT_CLASS_LOG_DATA_LENGTH * MAX_CONTRACT_CLASS_LOGS_PER_TX); pub global TX_CONSTANT_DATA_LENGTH: u32 = BLOCK_HEADER_LENGTH + TX_CONTEXT_LENGTH @@ -363,7 +366,7 @@ pub global PRIVATE_ACCUMULATED_DATA_LENGTH: u32 = (SCOPED_NOTE_HASH_LENGTH * MAX + (SCOPED_NULLIFIER_LENGTH * MAX_NULLIFIERS_PER_TX) + (MAX_L2_TO_L1_MSGS_PER_TX * SCOPED_L2_TO_L1_MESSAGE_LENGTH) + (SCOPED_PRIVATE_LOG_DATA_LENGTH * MAX_PRIVATE_LOGS_PER_TX) - + (SCOPED_LOG_HASH_LENGTH * MAX_CONTRACT_CLASS_LOGS_PER_TX) + + (SCOPED_CONTRACT_CLASS_LOG_DATA_LENGTH * MAX_CONTRACT_CLASS_LOGS_PER_TX) + (PRIVATE_CALL_REQUEST_LENGTH * MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX) + (COUNTED_PUBLIC_CALL_REQUEST_LENGTH * MAX_ENQUEUED_CALLS_PER_TX); pub global PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH: u32 = TX_CONSTANT_DATA_LENGTH @@ -379,7 +382,7 @@ pub global PRIVATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH: u32 = MAX_NOTE_HASHES_PER_ + MAX_NULLIFIERS_PER_TX + (MAX_L2_TO_L1_MSGS_PER_TX * SCOPED_L2_TO_L1_MESSAGE_LENGTH) + (MAX_PRIVATE_LOGS_PER_TX * PRIVATE_LOG_SIZE_IN_FIELDS) - + (MAX_CONTRACT_CLASS_LOGS_PER_TX * SCOPED_LOG_HASH_LENGTH) + + (MAX_CONTRACT_CLASS_LOGS_PER_TX * SCOPED_CONTRACT_CLASS_LOG_DATA_LENGTH) + (MAX_ENQUEUED_CALLS_PER_TX * PUBLIC_CALL_REQUEST_LENGTH); pub global PRIVATE_TO_AVM_ACCUMULATED_DATA_LENGTH: u32 = MAX_NOTE_HASHES_PER_TX @@ -663,6 +666,7 @@ pub global L2_GAS_PER_L1_TO_L2_MSG_READ_REQUEST: u32 = pub global L2_GAS_PER_LOG_BYTE: u32 = 4; // Zero gas because we don't have to hash and validate the private logs pub global L2_GAS_PER_PRIVATE_LOG: u32 = 0; +pub global L2_GAS_PER_CONTRACT_CLASS_LOG: u32 = 0; // Gas for writing message to L1 portal pub global L2_GAS_PER_L2_TO_L1_MSG: u32 = 200; diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr b/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr index 78f1b38318c7..c3c5d9b538e2 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr @@ -1,8 +1,8 @@ use crate::{ abis::{ contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage, + contract_class_log::{ContractClassLog, ContractClassLogData}, function_selector::FunctionSelector, - log_hash::{LogHash, ScopedLogHash}, note_hash::ScopedNoteHash, nullifier::ScopedNullifier, private_log::{PrivateLog, PrivateLogData}, @@ -16,7 +16,7 @@ use crate::{ merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message}, poseidon2::Poseidon2Sponge, - traits::{FromField, Hash, is_empty, ToField}, + traits::{FromField, Hash, ToField}, utils::field::field_from_bytes_32_trunc, }; use super::{constants::TWO_POW_64, utils::{arrays::array_concat, field::field_from_bytes}}; @@ -117,15 +117,25 @@ pub fn silo_private_log(private_log: Scoped) -> PrivateLog { } } -fn compute_siloed_contract_class_log_hash(address: AztecAddress, log_hash: Field) -> Field { - accumulate_sha256([address.to_field(), log_hash]) +fn compute_siloed_contract_class_log_field( + contract_address: AztecAddress, + first_field: Field, +) -> Field { + poseidon2_hash([contract_address.to_field(), first_field]) } -pub fn silo_contract_class_log_hash(log_hash: ScopedLogHash) -> Field { - if log_hash.contract_address.is_zero() { - 0 +pub fn silo_contract_class_log( + contract_class_log: Scoped, +) -> ContractClassLog { + if contract_class_log.contract_address.is_zero() { + contract_class_log.inner.log } else { - compute_siloed_contract_class_log_hash(log_hash.contract_address, log_hash.value()) + let mut log = contract_class_log.inner.log; + log.fields[0] = compute_siloed_contract_class_log_field( + contract_class_log.contract_address, + log.fields[0], + ); + log } } @@ -203,29 +213,6 @@ pub fn accumulate_sha256(input: [Field; 2]) -> Field { sha256_to_field(hash_input_flattened) } -// Computes the final logs hash for a tx. -pub fn compute_tx_logs_hash(logs: [LogHash; N]) -> Field { - // Convert each field element into a byte array and append the bytes to `hash_input_flattened` - let mut hash_input_flattened = [0; N * 32]; - for offset in 0..N { - // TODO: This is not checking that the decomposition is smaller than P - let input_as_bytes: [u8; 32] = logs[offset].value.to_be_radix(256); - for byte_index in 0..32 { - hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index]; - } - } - // Ideally we would push to a slice then hash, but there is no sha_slice - // Hardcode to 256 bytes for now - let mut hash = sha256_to_field(hash_input_flattened); - // Not having a 0 value hash for empty logs causes issues with empty txs - // used for padding. Returning early is currently unsupported. - // We always provide sorted logs here, so 0 being empty means all are empty. - if is_empty(logs[0]) { - hash = 0; - } - hash -} - pub fn verification_key_hash(key: [Field; N]) -> Field { crate::hash::poseidon2_hash(key) } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr index 69911eb8241a..437913b92082 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr @@ -10,6 +10,7 @@ use crate::{ call_context::CallContext, combined_constant_data::CombinedConstantData, constant_rollup_data::ConstantRollupData, + contract_class_log::ContractClassLogData, function_data::FunctionData, gas::Gas, gas_settings::GasSettings, @@ -19,7 +20,6 @@ use crate::{ PrivateToRollupKernelCircuitPublicInputs, }, log::Log, - log_hash::{LogHash, ScopedLogHash}, max_block_number::MaxBlockNumber, note_hash::{NoteHash, ScopedNoteHash}, nullifier::{Nullifier, ScopedNullifier}, @@ -45,16 +45,17 @@ use crate::{ address::{AztecAddress, EthAddress, SaltedInitializationHash}, block_header::BlockHeader, constants::{ - CLIENT_IVC_VERIFICATION_KEY_LENGTH_IN_FIELDS, DEFAULT_UPDATE_DELAY, - DEPLOYER_CONTRACT_ADDRESS, FUNCTION_TREE_HEIGHT, MAX_CONTRACT_CLASS_LOGS_PER_TX, - MAX_ENQUEUED_CALLS_PER_TX, MAX_FIELD_VALUE, MAX_KEY_VALIDATION_REQUESTS_PER_TX, - MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NOTE_HASHES_PER_TX, + CLIENT_IVC_VERIFICATION_KEY_LENGTH_IN_FIELDS, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, + DEFAULT_UPDATE_DELAY, DEPLOYER_CONTRACT_ADDRESS, FUNCTION_TREE_HEIGHT, + MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_FIELD_VALUE, + MAX_KEY_VALIDATION_REQUESTS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, + MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, MAX_NULLIFIERS_PER_TX, - MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX, MAX_PRIVATE_LOGS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, - MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PRIVATE_CALL_REQUEST_LENGTH, - PRIVATE_LOG_SIZE_IN_FIELDS, PROTOCOL_CONTRACT_TREE_HEIGHT, PUBLIC_CALL_REQUEST_LENGTH, - PUBLIC_DATA_TREE_HEIGHT, PUBLIC_LOG_DATA_SIZE_IN_FIELDS, UPDATED_CLASS_IDS_SLOT, - VK_TREE_HEIGHT, + MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX, MAX_PRIVATE_LOGS_PER_TX, MAX_PROTOCOL_CONTRACTS, + MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, + PRIVATE_CALL_REQUEST_LENGTH, PRIVATE_LOG_SIZE_IN_FIELDS, PROTOCOL_CONTRACT_TREE_HEIGHT, + PUBLIC_CALL_REQUEST_LENGTH, PUBLIC_DATA_TREE_HEIGHT, PUBLIC_LOG_DATA_SIZE_IN_FIELDS, + UPDATED_CLASS_IDS_SLOT, VK_TREE_HEIGHT, }, contract_class_id::ContractClassId, data::{ @@ -133,8 +134,7 @@ pub struct FixtureBuilder { pub l2_to_l1_msgs: BoundedVec, pub private_logs: BoundedVec, MAX_PRIVATE_LOGS_PER_TX>, pub public_logs: BoundedVec, - pub contract_class_logs_hashes: BoundedVec, - pub contract_class_log_preimages_length: Field, + pub contract_class_logs: BoundedVec, MAX_CONTRACT_CLASS_LOGS_PER_TX>, pub public_data_writes: BoundedVec, pub private_call_requests: BoundedVec, pub public_call_requests: BoundedVec, MAX_ENQUEUED_CALLS_PER_TX>, @@ -253,9 +253,17 @@ impl FixtureBuilder { } pub fn set_protocol_contract_root(&mut self) { - let (tree, protocol_contract_leaves) = - fixtures::protocol_contract_tree::get_protocol_contract_tree(); let contract_address_field = self.contract_address.to_field(); + // If this call is using a protocol contract, ensure we insert it into the test tree. + // Otherwise, just set 1, as we only need a valid tree we check non-membership in. + let contract_index = if contract_address_field.lt(MAX_PROTOCOL_CONTRACTS as Field) { + contract_address_field as u32 + } else { + 1 + }; + let (tree, protocol_contract_leaves) = + fixtures::protocol_contract_tree::get_protocol_contract_tree(contract_index); + self.protocol_contract_tree_root = tree.get_root(); for i in 0..protocol_contract_leaves.len() { let leaf = protocol_contract_leaves[i]; @@ -273,10 +281,9 @@ impl FixtureBuilder { } } - pub fn use_protocol_contract(&mut self) -> Self { - let contract_index = 1; + pub fn use_protocol_contract(&mut self, contract_index: u32) -> Self { let (tree, protocol_contract_leaves) = - fixtures::protocol_contract_tree::get_protocol_contract_tree(); + fixtures::protocol_contract_tree::get_protocol_contract_tree(contract_index); self.protocol_contract_tree_root = tree.get_root(); // This is used in validate_contract_address where is_protocol_contract = true. self.protocol_contract_membership_witness = MembershipWitness { @@ -286,11 +293,15 @@ impl FixtureBuilder { self.protocol_contract_leaf = protocol_contract_leaves[contract_index]; let contract_data = fixtures::contracts::get_protocol_contract(contract_index); - let function_data = - fixtures::contract_functions::get_protocol_contract_function(contract_index); - let _ = self.use_contract(contract_data); self.contract_address = AztecAddress::from_field(contract_index as Field); + self.salted_initialization_hash = contract_data.salted_initialization_hash; + self.public_keys = contract_data.public_keys; + self.contract_class_artifact_hash = contract_data.artifact_hash; + self.contract_class_public_bytecode_commitment = contract_data.public_bytecode_commitment; + + let function_data = + fixtures::contract_functions::get_protocol_contract_function(contract_index); self.use_function(function_data, fixtures::contract_functions::default_vk) } @@ -419,8 +430,8 @@ impl FixtureBuilder { private_logs: subarray(self.private_logs.storage().map(|l: Scoped| { l.inner })), - contract_class_logs_hashes: subarray(self.contract_class_logs_hashes.storage().map( - |l: ScopedLogHash| l.log_hash, + contract_class_logs: subarray(self.contract_class_logs.storage().map( + |l: Scoped| l.inner, )), historical_header: self.historical_header, tx_context: self.tx_context, @@ -525,7 +536,7 @@ impl FixtureBuilder { nullifiers: self.nullifiers, l2_to_l1_msgs: self.l2_to_l1_msgs, private_logs: self.private_logs, - contract_class_logs_hashes: self.contract_class_logs_hashes, + contract_class_logs: self.contract_class_logs, public_call_requests: self.public_call_requests, private_call_stack: vec_reverse(self.private_call_requests), } @@ -553,8 +564,8 @@ impl FixtureBuilder { m.expose_to_public() }), private_logs: self.private_logs.storage().map(|l: Scoped| l.inner.log), - contract_class_logs_hashes: self.contract_class_logs_hashes.storage().map( - |l: ScopedLogHash| l.expose_to_public(), + contract_class_logs: self.contract_class_logs.storage().map( + |l: Scoped| l.expose_to_public(), ), public_call_requests: self.public_call_requests.storage().map( |cr: Counted| cr.inner, @@ -570,10 +581,9 @@ impl FixtureBuilder { m.expose_to_public() }), private_logs: self.private_logs.storage().map(|l: Scoped| l.inner.log), - contract_class_logs_hashes: self.contract_class_logs_hashes.storage().map( - |l: ScopedLogHash| l.expose_to_public(), + contract_class_logs: self.contract_class_logs.storage().map( + |l: Scoped| l.expose_to_public(), ), - contract_class_log_preimages_length: self.contract_class_log_preimages_length, } } @@ -1012,10 +1022,18 @@ impl FixtureBuilder { } } - pub fn add_contract_class_log_hash(&mut self, hash: Field, length: Field) { - let log_hash = LogHash { value: hash, counter: self.next_counter(), length }; - self.contract_class_logs_hashes.push(log_hash.scope(self.contract_address)); - self.contract_class_log_preimages_length += length; + pub fn add_contract_class_log(&mut self, fields: [Field; N]) { + let mut log_fields = [0; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS]; + for i in 0..N { + log_fields[i] = fields[i]; + } + let log = ContractClassLogData { + log: Log { fields: log_fields }, + counter: self.next_counter(), + log_size: N, + } + .scope(self.contract_address); + self.contract_class_logs.push(log); } pub fn add_private_call_request_for_private_call(&mut self, private_call: PrivateCallData) { @@ -1234,8 +1252,7 @@ impl Empty for FixtureBuilder { l2_to_l1_msgs: BoundedVec::new(), private_logs: BoundedVec::new(), public_logs: BoundedVec::new(), - contract_class_logs_hashes: BoundedVec::new(), - contract_class_log_preimages_length: 0, + contract_class_logs: BoundedVec::new(), public_data_writes: BoundedVec::new(), private_call_requests: BoundedVec::new(), public_call_requests: BoundedVec::new(), diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixtures/protocol_contract_tree.nr b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixtures/protocol_contract_tree.nr index 4339eb4e0615..55a103d007cc 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixtures/protocol_contract_tree.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixtures/protocol_contract_tree.nr @@ -8,19 +8,27 @@ use crate::{ global PROTOCOL_CONTRACT_TREE_WIDTH: u32 = 1 << PROTOCOL_CONTRACT_TREE_HEIGHT as u8; -pub fn get_protocol_contract_tree() -> (MerkleTree, [ProtocolContractLeafPreimage; PROTOCOL_CONTRACT_TREE_WIDTH]) { +pub fn get_protocol_contract_tree( + contract_index: u32, + ) -> (MerkleTree, [ProtocolContractLeafPreimage; PROTOCOL_CONTRACT_TREE_WIDTH]) { + assert(contract_index < PROTOCOL_CONTRACT_TREE_WIDTH, "protocol contract does not exist"); let mut leaf_preimages = [ProtocolContractLeafPreimage::empty(); PROTOCOL_CONTRACT_TREE_WIDTH]; - let contracts = - [get_protocol_contract(1).address.to_field(), get_protocol_contract(2).address.to_field()]; + // Instead of providing a contract index, we could construct the full indexed tree, but that + // seems unnecessarily complex for a test fixture. + let other_contract_index = if contract_index != 1 { 1 } else { 2 }; + let contracts = [ + get_protocol_contract(contract_index).address.to_field(), + get_protocol_contract(other_contract_index).address.to_field(), + ]; let next_addresses = if contracts[0].lt(contracts[1]) { [contracts[1], 0] } else { [0, contracts[1]] }; - leaf_preimages[1] = + leaf_preimages[contract_index] = ProtocolContractLeafPreimage { address: contracts[0], next_address: next_addresses[0] }; - leaf_preimages[2] = + leaf_preimages[other_contract_index] = ProtocolContractLeafPreimage { address: contracts[1], next_address: next_addresses[1] }; ( MerkleTree::new( diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/utils/arrays.nr b/noir-projects/noir-protocol-circuits/crates/types/src/utils/arrays.nr index a75f18bc2993..01775745d945 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/utils/arrays.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/utils/arrays.nr @@ -81,6 +81,26 @@ pub unconstrained fn find_index_hint( index } +// As above, but counts from the end of the array. +// Useful for finding trailing zeroes in arrays which may have valid empty values. +// e.g. removing trailing 0s from [1, 0, 2, 0, 0, 0] -> [1, 0, 2] +// TODO: can be removed if contract class and private logs cannot contain valid 0s. +pub unconstrained fn find_index_hint_from_end( + array: [T; N], + find: fn[Env](T) -> bool, +) -> u32 { + let mut index = 0; + for i in 0..N { + let j = N - i - 1; + // We check `index == 0` to ensure that we only update the index if we haven't found a match yet. + if (index == 0) & !find(array[j]) { + // Since we are looking from the end of the array, the index at which find() is true is the next one: + index = j + 1; + } + } + index +} + // Routine which validates that all zero values of an array form a contiguous region at the end, i.e., // of the form: [*,*,*...,0,0,0,0] where any * is non-zero. Note that a full array of non-zero values is // valid. diff --git a/yarn-project/archiver/src/archiver/archiver.test.ts b/yarn-project/archiver/src/archiver/archiver.test.ts index 82d8b32072d0..be17b569aab6 100644 --- a/yarn-project/archiver/src/archiver/archiver.test.ts +++ b/yarn-project/archiver/src/archiver/archiver.test.ts @@ -569,19 +569,13 @@ describe('Archiver', () => { */ async function makeRollupTx(l2Block: L2Block) { const header = toHex(l2Block.header.toBuffer()); - const body = toHex(l2Block.body.toBuffer()); const blobInput = Blob.getEthBlobEvaluationInputs(await Blob.getBlobs(l2Block.body.toBlobFields())); const archive = toHex(l2Block.archive.root.toBuffer()); const blockHash = toHex((await l2Block.header.hash()).toBuffer()); const rollupInput = encodeFunctionData({ abi: RollupAbi, functionName: 'propose', - args: [ - { header, archive, blockHash, oracleInput: { feeAssetPriceModifier: 0n }, txHashes: [] }, - [], - body, - blobInput, - ], + args: [{ header, archive, blockHash, oracleInput: { feeAssetPriceModifier: 0n }, txHashes: [] }, [], blobInput], }); const forwarderInput = encodeFunctionData({ diff --git a/yarn-project/archiver/src/archiver/archiver.ts b/yarn-project/archiver/src/archiver/archiver.ts index c78c257a3d54..89d5b823be7b 100644 --- a/yarn-project/archiver/src/archiver/archiver.ts +++ b/yarn-project/archiver/src/archiver/archiver.ts @@ -17,7 +17,6 @@ import { type TxHash, type TxReceipt, type TxScopedL2Log, - type UnencryptedL2Log, getEpochNumberAtTimestamp, getSlotAtTimestamp, getSlotRangeForEpoch, @@ -25,6 +24,7 @@ import { } from '@aztec/circuit-types'; import { type BlockHeader, + type ContractClassLog, type ContractClassPublic, type ContractDataSource, type ContractInstanceWithAddress, @@ -900,10 +900,10 @@ class ArchiverStoreHelper * Extracts and stores contract classes out of ContractClassRegistered events emitted by the class registerer contract. * @param allLogs - All logs emitted in a bunch of blocks. */ - async #updateRegisteredContractClasses(allLogs: UnencryptedL2Log[], blockNum: number, operation: Operation) { + async #updateRegisteredContractClasses(allLogs: ContractClassLog[], blockNum: number, operation: Operation) { const contractClassRegisteredEvents = allLogs - .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data)) - .map(log => ContractClassRegisteredEvent.fromLog(log.data)); + .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log)) + .map(log => ContractClassRegisteredEvent.fromLog(log)); const contractClasses = await Promise.all(contractClassRegisteredEvents.map(e => e.toContractClassPublic())); if (contractClasses.length > 0) { @@ -976,14 +976,14 @@ class ArchiverStoreHelper * @param _blockNum - The block number * @returns */ - async #storeBroadcastedIndividualFunctions(allLogs: UnencryptedL2Log[], _blockNum: number) { + async #storeBroadcastedIndividualFunctions(allLogs: ContractClassLog[], _blockNum: number) { // Filter out private and unconstrained function broadcast events const privateFnEvents = allLogs - .filter(log => PrivateFunctionBroadcastedEvent.isPrivateFunctionBroadcastedEvent(log.data)) - .map(log => PrivateFunctionBroadcastedEvent.fromLog(log.data)); + .filter(log => PrivateFunctionBroadcastedEvent.isPrivateFunctionBroadcastedEvent(log)) + .map(log => PrivateFunctionBroadcastedEvent.fromLog(log)); const unconstrainedFnEvents = allLogs - .filter(log => UnconstrainedFunctionBroadcastedEvent.isUnconstrainedFunctionBroadcastedEvent(log.data)) - .map(log => UnconstrainedFunctionBroadcastedEvent.fromLog(log.data)); + .filter(log => UnconstrainedFunctionBroadcastedEvent.isUnconstrainedFunctionBroadcastedEvent(log)) + .map(log => UnconstrainedFunctionBroadcastedEvent.fromLog(log)); // Group all events by contract class id for (const [classIdString, classEvents] of Object.entries( @@ -1035,9 +1035,7 @@ class ArchiverStoreHelper this.store.addLogs(blocks.map(block => block.data)), // Unroll all logs emitted during the retrieved blocks and extract any contract classes and instances from them ...blocks.map(async block => { - const contractClassLogs = block.data.body.txEffects - .flatMap(txEffect => (txEffect ? [txEffect.contractClassLogs] : [])) - .flatMap(txLog => txLog.unrollLogs()); + const contractClassLogs = block.data.body.txEffects.flatMap(txEffect => txEffect.contractClassLogs); // ContractInstanceDeployed event logs are broadcast in privateLogs. const privateLogs = block.data.body.txEffects.flatMap(txEffect => txEffect.privateLogs); const publicLogs = block.data.body.txEffects.flatMap(txEffect => txEffect.publicLogs); @@ -1069,10 +1067,7 @@ class ArchiverStoreHelper const opResults = await Promise.all([ // Unroll all logs emitted during the retrieved blocks and extract any contract classes and instances from them ...blocks.map(async block => { - const contractClassLogs = block.data.body.txEffects - .flatMap(txEffect => (txEffect ? [txEffect.contractClassLogs] : [])) - .flatMap(txLog => txLog.unrollLogs()); - + const contractClassLogs = block.data.body.txEffects.flatMap(txEffect => txEffect.contractClassLogs); // ContractInstanceDeployed event logs are broadcast in privateLogs. const privateLogs = block.data.body.txEffects.flatMap(txEffect => txEffect.privateLogs); const publicLogs = block.data.body.txEffects.flatMap(txEffect => txEffect.publicLogs); diff --git a/yarn-project/archiver/src/archiver/data_retrieval.ts b/yarn-project/archiver/src/archiver/data_retrieval.ts index e832e0befd93..d76861abec3c 100644 --- a/yarn-project/archiver/src/archiver/data_retrieval.ts +++ b/yarn-project/archiver/src/archiver/data_retrieval.ts @@ -216,8 +216,7 @@ async function getBlockFromRollupTx( throw new Error(`Unexpected rollup method called ${rollupFunctionName}`); } - // TODO(#9101): 'bodyHex' will be removed from below - const [decodedArgs, , bodyHex, blobInputs] = rollupArgs! as readonly [ + const [decodedArgs, , blobInputs] = rollupArgs! as readonly [ { header: Hex; archive: Hex; @@ -229,7 +228,6 @@ async function getBlockFromRollupTx( }, ViemSignature[], Hex, - Hex, ]; const header = BlockHeader.fromBuffer(Buffer.from(hexToBytes(decodedArgs.header))); @@ -238,8 +236,6 @@ async function getBlockFromRollupTx( throw new NoBlobBodiesFoundError(Number(l2BlockNum)); } - // TODO(#9101): Once calldata is removed, we can remove this field encoding and update - // Body.fromBlobFields to accept blob buffers directly let blockFields: Fr[]; try { blockFields = Blob.toEncodedFields(blobBodies); @@ -252,22 +248,10 @@ async function getBlockFromRollupTx( throw err; } - // TODO(#9101): Retreiving the block body from calldata is a temporary soln before we have - // either a beacon chain client or link to some blob store. Web2 is ok because we will - // verify the block body vs the blob as below. - const blockBody = Body.fromBuffer(Buffer.from(hexToBytes(bodyHex))); - - // TODO(#9101): The below reconstruction is currently redundant, but once we extract blobs will be the way to construct blocks. - // The blob source will give us blockFields, and we must construct the body from them: - // TODO(#8954): When logs are refactored into fields, we won't need to inject them here. - const reconstructedBlock = Body.fromBlobFields(blockFields, blockBody.contractClassLogs); - - if (!reconstructedBlock.toBuffer().equals(blockBody.toBuffer())) { - // TODO(#9101): Remove below check (without calldata there will be nothing to check against) - throw new Error(`Block reconstructed from blob fields does not match`); - } + // The blob source gives us blockFields, and we must construct the body from them: + const blockBody = Body.fromBlobFields(blockFields); - // TODO(#9101): Once we stop publishing calldata, we will still need the blobCheck below to ensure that the block we are building does correspond to the blob fields + // TODO: Will this ever throw now that we do not get blocks from calldata at all? const blobCheck = await Blob.getBlobs(blockFields); if (Blob.getEthBlobEvaluationInputs(blobCheck) !== blobInputs) { // NB: We can just check the blobhash here, which is the first 32 bytes of blobInputs diff --git a/yarn-project/archiver/src/archiver/kv_archiver_store/log_store.ts b/yarn-project/archiver/src/archiver/kv_archiver_store/log_store.ts index 2c9d6d8a04a7..2615d8a08118 100644 --- a/yarn-project/archiver/src/archiver/kv_archiver_store/log_store.ts +++ b/yarn-project/archiver/src/archiver/kv_archiver_store/log_store.ts @@ -1,16 +1,14 @@ import { - ContractClass2BlockL2Logs, + ExtendedContractClassLog, ExtendedPublicLog, - ExtendedUnencryptedL2Log, type GetContractClassLogsResponse, type GetPublicLogsResponse, type L2Block, type LogFilter, LogId, TxScopedL2Log, - UnencryptedL2Log, } from '@aztec/circuit-types'; -import { type Fr, PrivateLog, PublicLog } from '@aztec/circuits.js'; +import { ContractClassLog, type Fr, PrivateLog, PublicLog } from '@aztec/circuits.js'; import { INITIAL_L2_BLOCK_NUM, MAX_NOTE_HASHES_PER_TX, @@ -173,8 +171,18 @@ export class LogStore { ) .flat(); + const contractClassLogsInBlock = block.body.txEffects + .map((txEffect, txIndex) => + [ + numToUInt32BE(txIndex), + numToUInt32BE(txEffect.contractClassLogs.length), + txEffect.contractClassLogs.map(log => log.toBuffer()), + ].flat(), + ) + .flat(); + await this.#publicLogsByBlock.set(block.number, Buffer.concat(publicLogsInBlock)); - await this.#contractClassLogsByBlock.set(block.number, block.body.contractClassLogs.toBuffer()); + await this.#contractClassLogsByBlock.set(block.number, Buffer.concat(contractClassLogsInBlock)); } return true; @@ -345,13 +353,22 @@ export class LogStore { if (typeof blockNumber !== 'number' || typeof txIndex !== 'number') { return { logs: [], maxLogsHit: false }; } - const contractClassLogsBuffer = await this.#contractClassLogsByBlock.getAsync(blockNumber); - const contractClassLogsInBlock = contractClassLogsBuffer - ? ContractClass2BlockL2Logs.fromBuffer(contractClassLogsBuffer) - : new ContractClass2BlockL2Logs([]); - const txLogs = contractClassLogsInBlock.txLogs[txIndex].unrollLogs(); + const contractClassLogsBuffer = (await this.#contractClassLogsByBlock.getAsync(blockNumber)) ?? Buffer.alloc(0); + const contractClassLogsInBlock: [ContractClassLog[]] = [[]]; + + const reader = new BufferReader(contractClassLogsBuffer); + while (reader.remainingBytes() > 0) { + const indexOfTx = reader.readNumber(); + const numLogsInTx = reader.readNumber(); + contractClassLogsInBlock[indexOfTx] = []; + for (let i = 0; i < numLogsInTx; i++) { + contractClassLogsInBlock[indexOfTx].push(reader.readObject(ContractClassLog)); + } + } - const logs: ExtendedUnencryptedL2Log[] = []; + const txLogs = contractClassLogsInBlock[txIndex]; + + const logs: ExtendedContractClassLog[] = []; const maxLogsHit = this.#accumulateLogs(logs, blockNumber, txIndex, txLogs, filter); return { logs, maxLogsHit }; @@ -369,16 +386,25 @@ export class LogStore { }; } - const logs: ExtendedUnencryptedL2Log[] = []; + const logs: ExtendedContractClassLog[] = []; let maxLogsHit = false; loopOverBlocks: for await (const [blockNumber, logBuffer] of this.#contractClassLogsByBlock.entriesAsync({ start, end, })) { - const contractClassLogsInBlock = ContractClass2BlockL2Logs.fromBuffer(logBuffer); - for (let txIndex = filter.afterLog?.txIndex ?? 0; txIndex < contractClassLogsInBlock.txLogs.length; txIndex++) { - const txLogs = contractClassLogsInBlock.txLogs[txIndex].unrollLogs(); + const contractClassLogsInBlock: [ContractClassLog[]] = [[]]; + const reader = new BufferReader(logBuffer); + while (reader.remainingBytes() > 0) { + const indexOfTx = reader.readNumber(); + const numLogsInTx = reader.readNumber(); + contractClassLogsInBlock[indexOfTx] = []; + for (let i = 0; i < numLogsInTx; i++) { + contractClassLogsInBlock[indexOfTx].push(reader.readObject(ContractClassLog)); + } + } + for (let txIndex = filter.afterLog?.txIndex ?? 0; txIndex < contractClassLogsInBlock.length; txIndex++) { + const txLogs = contractClassLogsInBlock[txIndex]; maxLogsHit = this.#accumulateLogs(logs, blockNumber, txIndex, txLogs, filter); if (maxLogsHit) { this.#log.debug(`Max logs hit at block ${blockNumber}`); @@ -391,19 +417,20 @@ export class LogStore { } #accumulateLogs( - results: (ExtendedUnencryptedL2Log | ExtendedPublicLog)[], + results: (ExtendedContractClassLog | ExtendedPublicLog)[], blockNumber: number, txIndex: number, - txLogs: (UnencryptedL2Log | PublicLog)[], + txLogs: (ContractClassLog | PublicLog)[], filter: LogFilter, ): boolean { let maxLogsHit = false; let logIndex = typeof filter.afterLog?.logIndex === 'number' ? filter.afterLog.logIndex + 1 : 0; for (; logIndex < txLogs.length; logIndex++) { const log = txLogs[logIndex]; - if (!filter.contractAddress || log.contractAddress.equals(filter.contractAddress)) { - if (log instanceof UnencryptedL2Log) { - results.push(new ExtendedUnencryptedL2Log(new LogId(blockNumber, txIndex, logIndex), log)); + // TODO(MW): fix hack for contract class + if (!filter.contractAddress || (log instanceof PublicLog && log.contractAddress.equals(filter.contractAddress))) { + if (log instanceof ContractClassLog) { + results.push(new ExtendedContractClassLog(new LogId(blockNumber, txIndex, logIndex), log)); } else { results.push(new ExtendedPublicLog(new LogId(blockNumber, txIndex, logIndex), log)); } diff --git a/yarn-project/archiver/src/archiver/memory_archiver_store/memory_archiver_store.ts b/yarn-project/archiver/src/archiver/memory_archiver_store/memory_archiver_store.ts index c5b0381a38e7..f749adcfb4b7 100644 --- a/yarn-project/archiver/src/archiver/memory_archiver_store/memory_archiver_store.ts +++ b/yarn-project/archiver/src/archiver/memory_archiver_store/memory_archiver_store.ts @@ -1,7 +1,6 @@ import { - type ContractClass2BlockL2Logs, + ExtendedContractClassLog, ExtendedPublicLog, - ExtendedUnencryptedL2Log, type GetContractClassLogsResponse, type GetPublicLogsResponse, type InBlock, @@ -18,6 +17,7 @@ import { } from '@aztec/circuit-types'; import { type BlockHeader, + type ContractClassLog, type ContractClassPublic, type ContractClassPublicWithBlockNumber, type ContractInstanceUpdateWithAddress, @@ -30,11 +30,17 @@ import { PUBLIC_LOG_DATA_SIZE_IN_FIELDS, type PrivateLog, type PublicLog, + REGISTERER_CONTRACT_ADDRESS, type UnconstrainedFunctionWithMembershipProof, } from '@aztec/circuits.js'; import { FunctionSelector } from '@aztec/foundation/abi'; -import { type AztecAddress } from '@aztec/foundation/aztec-address'; +import { AztecAddress } from '@aztec/foundation/aztec-address'; import { createLogger } from '@aztec/foundation/log'; +import { + REGISTERER_CONTRACT_CLASS_REGISTERED_TAG, + REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG, + REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG, +} from '@aztec/protocol-contracts'; import { type ArchiverDataStore, type ArchiverL1SynchPoint } from '../archiver_store.js'; import { type DataRetrieval } from '../structs/data_retrieval.js'; @@ -65,7 +71,7 @@ export class MemoryArchiverStore implements ArchiverDataStore { private publicLogsPerBlock: Map = new Map(); - private contractClassLogsPerBlock: Map = new Map(); + private contractClassLogsPerBlock: Map = new Map(); private blockScopedNullifiers: Map = new Map(); @@ -355,7 +361,10 @@ export class MemoryArchiverStore implements ArchiverDataStore { this.#storeTaggedLogsFromPublic(block); this.privateLogsPerBlock.set(block.number, block.body.txEffects.map(txEffect => txEffect.privateLogs).flat()); this.publicLogsPerBlock.set(block.number, block.body.txEffects.map(txEffect => txEffect.publicLogs).flat()); - this.contractClassLogsPerBlock.set(block.number, block.body.contractClassLogs); + this.contractClassLogsPerBlock.set( + block.number, + block.body.txEffects.map(txEffect => txEffect.contractClassLogs).flat(), + ); }); return Promise.resolve(true); } @@ -703,34 +712,44 @@ export class MemoryArchiverStore implements ArchiverDataStore { const contractAddress = filter.contractAddress; - const logs: ExtendedUnencryptedL2Log[] = []; + const logs: ExtendedContractClassLog[] = []; for (; fromBlock < toBlock; fromBlock++) { const block = this.l2Blocks[fromBlock - INITIAL_L2_BLOCK_NUM]; const blockLogs = this.contractClassLogsPerBlock.get(fromBlock); if (blockLogs) { - for (; txIndexInBlock < blockLogs.txLogs.length; txIndexInBlock++) { - const txLogs = blockLogs.txLogs[txIndexInBlock].unrollLogs(); - for (; logIndexInTx < txLogs.length; logIndexInTx++) { - const log = txLogs[logIndexInTx]; - if ( - (!txHash || block.data.body.txEffects[txIndexInBlock].txHash.equals(txHash)) && - (!contractAddress || log.contractAddress.equals(contractAddress)) - ) { - logs.push(new ExtendedUnencryptedL2Log(new LogId(block.data.number, txIndexInBlock, logIndexInTx), log)); - if (logs.length === this.maxLogs) { - return Promise.resolve({ - logs, - maxLogsHit: true, - }); - } + for (let logIndex = 0; logIndex < blockLogs.length; logIndex++) { + const log = blockLogs[logIndex]; + // TODO(MW): this is a hack + const thisContractAddress = [ + REGISTERER_CONTRACT_CLASS_REGISTERED_TAG, + REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG, + REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG, + ].includes(log.fields[0]) + ? AztecAddress.fromNumber(REGISTERER_CONTRACT_ADDRESS) + : AztecAddress.ZERO; + const thisTxEffect = block.data.body.txEffects.filter(effect => effect.contractClassLogs.includes(log))[0]; + const thisTxIndexInBlock = block.data.body.txEffects.indexOf(thisTxEffect); + const thisLogIndexInTx = thisTxEffect.contractClassLogs.indexOf(log); + if ( + (!txHash || thisTxEffect.txHash.equals(txHash)) && + (!contractAddress || thisContractAddress.equals(contractAddress)) && + thisTxIndexInBlock >= txIndexInBlock && + thisLogIndexInTx >= logIndexInTx + ) { + logs.push( + new ExtendedContractClassLog(new LogId(block.data.number, thisTxIndexInBlock, thisLogIndexInTx), log), + ); + if (logs.length === this.maxLogs) { + return Promise.resolve({ + logs, + maxLogsHit: true, + }); } } - logIndexInTx = 0; } } - txIndexInBlock = 0; } return Promise.resolve({ diff --git a/yarn-project/aztec.js/src/contract/proven_tx.ts b/yarn-project/aztec.js/src/contract/proven_tx.ts index b024d4ca86ed..ce4496a8026c 100644 --- a/yarn-project/aztec.js/src/contract/proven_tx.ts +++ b/yarn-project/aztec.js/src/contract/proven_tx.ts @@ -8,24 +8,12 @@ import { SentTx } from './sent_tx.js'; */ export class ProvenTx extends Tx { constructor(protected wallet: PXE | Wallet, tx: Tx) { - super( - tx.data, - tx.clientIvcProof, - tx.contractClassLogs, - tx.enqueuedPublicFunctionCalls, - tx.publicTeardownFunctionCall, - ); + super(tx.data, tx.clientIvcProof, tx.enqueuedPublicFunctionCalls, tx.publicTeardownFunctionCall); } // Clone the TX data to get a serializable object. protected getPlainDataTx(): Tx { - return new Tx( - this.data, - this.clientIvcProof, - this.contractClassLogs, - this.enqueuedPublicFunctionCalls, - this.publicTeardownFunctionCall, - ); + return new Tx(this.data, this.clientIvcProof, this.enqueuedPublicFunctionCalls, this.publicTeardownFunctionCall); } /** diff --git a/yarn-project/aztec.js/src/index.ts b/yarn-project/aztec.js/src/index.ts index 53aae9e7a654..1f06103a233c 100644 --- a/yarn-project/aztec.js/src/index.ts +++ b/yarn-project/aztec.js/src/index.ts @@ -67,7 +67,6 @@ export { Body, Capsule, Comparator, - ContractClass2BlockL2Logs, EncryptedLogPayload, EventMetadata, EventType, @@ -92,7 +91,6 @@ export { TxHash, TxReceipt, TxStatus, - UnencryptedL2Log, UniqueNote, type LogFilter, type PartialAddress, diff --git a/yarn-project/builder/src/contract-interface-gen/typescript.ts b/yarn-project/builder/src/contract-interface-gen/typescript.ts index c27d4550010e..0631cd2725fa 100644 --- a/yarn-project/builder/src/contract-interface-gen/typescript.ts +++ b/yarn-project/builder/src/contract-interface-gen/typescript.ts @@ -347,7 +347,6 @@ import { Point, type PublicKey, PublicKeys, - type UnencryptedL2Log, type Wallet, type U128Like, type WrappedFieldLike, diff --git a/yarn-project/circuit-types/src/body.test.ts b/yarn-project/circuit-types/src/body.test.ts index d6cfbbccf946..fe4fa5fd0cc3 100644 --- a/yarn-project/circuit-types/src/body.test.ts +++ b/yarn-project/circuit-types/src/body.test.ts @@ -12,8 +12,7 @@ describe('Body', () => { it('converts to and from fields', async () => { const body = await Body.random(); const fields = body.toBlobFields(); - // TODO(#8954): When logs are refactored into fields, we won't need to inject them here - expect(Body.fromBlobFields(fields, body.contractClassLogs)).toEqual(body); + expect(Body.fromBlobFields(fields)).toEqual(body); }); it('converts empty to and from fields', () => { diff --git a/yarn-project/circuit-types/src/body.ts b/yarn-project/circuit-types/src/body.ts index b5fe1577e7d5..e1289ca9e46b 100644 --- a/yarn-project/circuit-types/src/body.ts +++ b/yarn-project/circuit-types/src/body.ts @@ -1,4 +1,4 @@ -import { type Fr } from '@aztec/circuits.js'; +import { BLOBS_PER_BLOCK, FIELDS_PER_BLOB, type Fr } from '@aztec/circuits.js'; import { timesParallel } from '@aztec/foundation/collection'; import { type ZodFor } from '@aztec/foundation/schemas'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; @@ -6,7 +6,6 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { inspect } from 'util'; import { z } from 'zod'; -import { ContractClass2BlockL2Logs } from './logs/index.js'; import { TxEffect } from './tx_effect.js'; export class Body { @@ -52,15 +51,21 @@ export class Body { this.txEffects.forEach((effect: TxEffect) => { flattened = flattened.concat(effect.toBlobFields()); }); + if (flattened.length > BLOBS_PER_BLOCK * FIELDS_PER_BLOB) { + throw new Error( + `Attempted to overfill block's blobs with ${flattened.length} elements. The maximum is ${ + BLOBS_PER_BLOCK * FIELDS_PER_BLOB + }`, + ); + } + return flattened; } /** * Decodes a block from blob fields. - * TODO(#8954): When logs are refactored into fields, we won't need to inject them here, instead just reading from fields in TxEffect.fromBlobFields. - * Logs are best input by gathering from the getters below, as they don't remove empty log arrays. */ - static fromBlobFields(fields: Fr[], contractClassLogs?: ContractClass2BlockL2Logs) { + static fromBlobFields(fields: Fr[]) { const txEffectsFields: Fr[][] = []; let checkedFields = 0; while (checkedFields !== fields.length) { @@ -71,9 +76,7 @@ export class Body { txEffectsFields.push(fields.slice(checkedFields, checkedFields + len)); checkedFields += len; } - const txEffects = txEffectsFields - .filter(effect => effect.length) - .map((effect, i) => TxEffect.fromBlobFields(effect, contractClassLogs?.txLogs[i])); + const txEffects = txEffectsFields.filter(effect => effect.length).map(effect => TxEffect.fromBlobFields(effect)); return new this(txEffects); } @@ -83,12 +86,6 @@ export class Body { }`; } - get contractClassLogs(): ContractClass2BlockL2Logs { - const logs = this.txEffects.map(txEffect => txEffect.contractClassLogs); - - return new ContractClass2BlockL2Logs(logs); - } - static async random(txsPerBlock = 4, numPublicCallsPerTx = 3, numPublicLogsPerCall = 1) { const txEffects = await timesParallel(txsPerBlock, () => TxEffect.random(numPublicCallsPerTx, numPublicLogsPerCall), diff --git a/yarn-project/circuit-types/src/interfaces/archiver.test.ts b/yarn-project/circuit-types/src/interfaces/archiver.test.ts index d5e2bd76d417..f16070398a1e 100644 --- a/yarn-project/circuit-types/src/interfaces/archiver.test.ts +++ b/yarn-project/circuit-types/src/interfaces/archiver.test.ts @@ -25,8 +25,8 @@ import { EmptyL1RollupConstants, type L1RollupConstants } from '../epoch-helpers import { type InBlock, randomInBlock } from '../in_block.js'; import { L2Block } from '../l2_block.js'; import { type L2Tips } from '../l2_block_source.js'; +import { ExtendedContractClassLog } from '../logs/extended_contract_class_log.js'; import { ExtendedPublicLog } from '../logs/extended_public_log.js'; -import { ExtendedUnencryptedL2Log } from '../logs/extended_unencrypted_l2_log.js'; import { type GetContractClassLogsResponse, type GetPublicLogsResponse, @@ -179,7 +179,7 @@ describe('ArchiverApiSchema', () => { txHash: TxHash.random(), contractAddress: await AztecAddress.random(), }); - expect(result).toEqual({ logs: [expect.any(ExtendedUnencryptedL2Log)], maxLogsHit: true }); + expect(result).toEqual({ logs: [expect.any(ExtendedContractClassLog)], maxLogsHit: true }); }); it('getPublicFunction', async () => { @@ -337,10 +337,10 @@ class MockArchiver implements ArchiverApi { expect(filter.contractAddress).toBeInstanceOf(AztecAddress); return { logs: [await ExtendedPublicLog.random()], maxLogsHit: true }; } - async getContractClassLogs(filter: LogFilter): Promise { + getContractClassLogs(filter: LogFilter): Promise { expect(filter.txHash).toBeInstanceOf(TxHash); expect(filter.contractAddress).toBeInstanceOf(AztecAddress); - return { logs: [await ExtendedUnencryptedL2Log.random()], maxLogsHit: true }; + return Promise.resolve({ logs: [ExtendedContractClassLog.random()], maxLogsHit: true }); } getPublicFunction(address: AztecAddress, selector: FunctionSelector): Promise { expect(address).toBeInstanceOf(AztecAddress); diff --git a/yarn-project/circuit-types/src/interfaces/aztec-node.test.ts b/yarn-project/circuit-types/src/interfaces/aztec-node.test.ts index 605909330f7e..c39ff21b2ef6 100644 --- a/yarn-project/circuit-types/src/interfaces/aztec-node.test.ts +++ b/yarn-project/circuit-types/src/interfaces/aztec-node.test.ts @@ -32,8 +32,8 @@ import { resolve } from 'path'; import { type InBlock, randomInBlock } from '../in_block.js'; import { L2Block } from '../l2_block.js'; import { type L2Tips } from '../l2_block_source.js'; +import { ExtendedContractClassLog } from '../logs/extended_contract_class_log.js'; import { ExtendedPublicLog } from '../logs/extended_public_log.js'; -import { ExtendedUnencryptedL2Log } from '../logs/extended_unencrypted_l2_log.js'; import { type GetContractClassLogsResponse, type GetPublicLogsResponse, @@ -243,7 +243,7 @@ describe('AztecNodeApiSchema', () => { it('getContractClassLogs', async () => { const response = await context.client.getContractClassLogs({ contractAddress: await AztecAddress.random() }); - expect(response).toEqual({ logs: [expect.any(ExtendedUnencryptedL2Log)], maxLogsHit: true }); + expect(response).toEqual({ logs: [expect.any(ExtendedContractClassLog)], maxLogsHit: true }); }); it('getLogsByTags', async () => { @@ -524,9 +524,9 @@ class MockAztecNode implements AztecNode { expect(filter.contractAddress).toBeInstanceOf(AztecAddress); return { logs: [await ExtendedPublicLog.random()], maxLogsHit: true }; } - async getContractClassLogs(filter: LogFilter): Promise { + getContractClassLogs(filter: LogFilter): Promise { expect(filter.contractAddress).toBeInstanceOf(AztecAddress); - return { logs: [await ExtendedUnencryptedL2Log.random()], maxLogsHit: true }; + return Promise.resolve({ logs: [ExtendedContractClassLog.random()], maxLogsHit: true }); } getLogsByTags(tags: Fr[]): Promise { expect(tags).toHaveLength(1); diff --git a/yarn-project/circuit-types/src/interfaces/pxe.test.ts b/yarn-project/circuit-types/src/interfaces/pxe.test.ts index 8cb9f8d958da..ec693d3f4663 100644 --- a/yarn-project/circuit-types/src/interfaces/pxe.test.ts +++ b/yarn-project/circuit-types/src/interfaces/pxe.test.ts @@ -33,8 +33,8 @@ import { AuthWitness } from '../auth_witness.js'; import { type InBlock } from '../in_block.js'; import { L2Block } from '../l2_block.js'; import { + ExtendedContractClassLog, ExtendedPublicLog, - ExtendedUnencryptedL2Log, type GetContractClassLogsResponse, type GetPublicLogsResponse, type LogFilter, @@ -262,7 +262,7 @@ describe('PXESchema', () => { it('getContractClassLogs', async () => { const result = await context.client.getContractClassLogs({ contractAddress: address }); - expect(result).toEqual({ logs: [expect.any(ExtendedUnencryptedL2Log)], maxLogsHit: true }); + expect(result).toEqual({ logs: [expect.any(ExtendedContractClassLog)], maxLogsHit: true }); }); it('getBlockNumber', async () => { @@ -489,9 +489,9 @@ class MockPXE implements PXE { expect(filter.contractAddress).toEqual(this.address); return { logs: [await ExtendedPublicLog.random()], maxLogsHit: true }; } - async getContractClassLogs(filter: LogFilter): Promise { + getContractClassLogs(filter: LogFilter): Promise { expect(filter.contractAddress).toEqual(this.address); - return { logs: [await ExtendedUnencryptedL2Log.random()], maxLogsHit: true }; + return Promise.resolve({ logs: [ExtendedContractClassLog.random()], maxLogsHit: true }); } getBlockNumber(): Promise { return Promise.resolve(1); diff --git a/yarn-project/circuit-types/src/l2_block.ts b/yarn-project/circuit-types/src/l2_block.ts index 805a204042ff..876d08bc8889 100644 --- a/yarn-project/circuit-types/src/l2_block.ts +++ b/yarn-project/circuit-types/src/l2_block.ts @@ -184,11 +184,12 @@ export class L2Block { privateLogCount: this.body.txEffects.reduce((logCount, txEffect) => logCount + txEffect.privateLogs.length, 0), publicLogCount: this.body.txEffects.reduce((logCount, txEffect) => logCount + txEffect.publicLogs.length, 0), contractClassLogCount: this.body.txEffects.reduce( - (logCount, txEffect) => logCount + txEffect.contractClassLogs.getTotalLogCount(), + (logCount, txEffect) => logCount + txEffect.contractClassLogs.length, 0, ), contractClassLogSize: this.body.txEffects.reduce( - (logCount, txEffect) => logCount + txEffect.contractClassLogs.getSerializedLength(), + (totalLogSize, txEffect) => + totalLogSize + txEffect.contractClassLogs.reduce((logSize, log) => logSize + log.getEmittedLength(), 0), 0, ), }; diff --git a/yarn-project/circuit-types/src/logs/extended_unencrypted_l2_log.ts b/yarn-project/circuit-types/src/logs/extended_contract_class_log.ts similarity index 50% rename from yarn-project/circuit-types/src/logs/extended_unencrypted_l2_log.ts rename to yarn-project/circuit-types/src/logs/extended_contract_class_log.ts index 686463146123..6d3a2c9efe54 100644 --- a/yarn-project/circuit-types/src/logs/extended_unencrypted_l2_log.ts +++ b/yarn-project/circuit-types/src/logs/extended_contract_class_log.ts @@ -1,3 +1,4 @@ +import { ContractClassLog } from '@aztec/circuits.js'; import { BufferReader } from '@aztec/foundation/serialize'; import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; import { type FieldsOf } from '@aztec/foundation/types'; @@ -6,35 +7,33 @@ import isEqual from 'lodash.isequal'; import { z } from 'zod'; import { LogId } from './log_id.js'; -import { UnencryptedL2Log } from './unencrypted_l2_log.js'; /** - * Represents an individual unencrypted log entry extended with info about the block and tx it was emitted in. - * TODO(#8945): Currently only used for contract class logs. When these are fields, delete this class. + * Represents an individual contract class log entry extended with info about the block and tx it was emitted in. */ -export class ExtendedUnencryptedL2Log { +export class ExtendedContractClassLog { constructor( /** Globally unique id of the log. */ public readonly id: LogId, /** The data contents of the log. */ - public readonly log: UnencryptedL2Log, + public readonly log: ContractClassLog, ) {} - static async random() { - return new ExtendedUnencryptedL2Log(LogId.random(), await UnencryptedL2Log.random()); + static random() { + return new ExtendedContractClassLog(LogId.random(), ContractClassLog.random()); } static get schema() { return z .object({ id: LogId.schema, - log: UnencryptedL2Log.schema, + log: ContractClassLog.schema, }) - .transform(ExtendedUnencryptedL2Log.from); + .transform(ExtendedContractClassLog.from); } - static from(fields: FieldsOf) { - return new ExtendedUnencryptedL2Log(fields.id, fields.log); + static from(fields: FieldsOf) { + return new ExtendedContractClassLog(fields.id, fields.log); } /** @@ -54,19 +53,11 @@ export class ExtendedUnencryptedL2Log { } /** - * Serializes log to a human readable string. - * @returns A human readable representation of the log. - */ - public toHumanReadable(): string { - return `${this.id.toHumanReadable()}, ${this.log.toHumanReadable()}`; - } - - /** - * Checks if two ExtendedUnencryptedL2Log objects are equal. - * @param other - Another ExtendedUnencryptedL2Log object to compare with. + * Checks if two ExtendedContractClassLog objects are equal. + * @param other - Another ExtendedContractClassLog object to compare with. * @returns True if the two objects are equal, false otherwise. */ - public equals(other: ExtendedUnencryptedL2Log): boolean { + public equals(other: ExtendedContractClassLog): boolean { return isEqual(this, other); } @@ -75,21 +66,21 @@ export class ExtendedUnencryptedL2Log { * @param buffer - The buffer or buffer reader containing the log. * @returns Deserialized instance of `Log`. */ - public static fromBuffer(buffer: Buffer | BufferReader): ExtendedUnencryptedL2Log { + public static fromBuffer(buffer: Buffer | BufferReader): ExtendedContractClassLog { const reader = BufferReader.asReader(buffer); const logId = LogId.fromBuffer(reader); - const log = UnencryptedL2Log.fromBuffer(reader); + const log = ContractClassLog.fromBuffer(reader); - return new ExtendedUnencryptedL2Log(logId, log); + return new ExtendedContractClassLog(logId, log); } /** - * Deserializes `ExtendedUnencryptedL2Log` object from a hex string representation. + * Deserializes `ExtendedContractClassLog` object from a hex string representation. * @param data - A hex string representation of the log. - * @returns An `ExtendedUnencryptedL2Log` object. + * @returns An `ExtendedContractClassLog` object. */ - public static fromString(data: string): ExtendedUnencryptedL2Log { - return ExtendedUnencryptedL2Log.fromBuffer(hexToBuffer(data)); + public static fromString(data: string): ExtendedContractClassLog { + return ExtendedContractClassLog.fromBuffer(hexToBuffer(data)); } } diff --git a/yarn-project/circuit-types/src/logs/function_l2_logs.test.ts b/yarn-project/circuit-types/src/logs/function_l2_logs.test.ts deleted file mode 100644 index 61e976890e12..000000000000 --- a/yarn-project/circuit-types/src/logs/function_l2_logs.test.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { jsonStringify } from '@aztec/foundation/json-rpc'; - -import { UnencryptedFunctionL2Logs } from './function_l2_logs.js'; - -function shouldBehaveLikeFunctionL2Logs(FunctionL2Logs: typeof UnencryptedFunctionL2Logs) { - describe(FunctionL2Logs.name, () => { - it('can encode L2Logs to buffer and back', async () => { - const l2Logs = await FunctionL2Logs.random(1); - - const buffer = l2Logs.toBuffer(); - const recovered = FunctionL2Logs.fromBuffer(buffer); - - expect(recovered).toEqual(l2Logs); - }); - - it('can encode L2Logs to JSON and back', async () => { - const l2Logs = await FunctionL2Logs.random(1); - - const buffer = jsonStringify(l2Logs); - const recovered = FunctionL2Logs.schema.parse(JSON.parse(buffer)); - - expect(recovered).toEqual(l2Logs); - }); - - it('getSerializedLength returns the correct length', async () => { - const l2Logs = await FunctionL2Logs.random(1); - - const buffer = l2Logs.toBuffer(); - const recovered = FunctionL2Logs.fromBuffer(buffer); - if (FunctionL2Logs.name == 'EncryptedFunctionL2Logs') { - // For event logs, we don't 'count' the maskedContractAddress as part of the - // log length, since it's just for siloing later on - expect(recovered.getSerializedLength()).toEqual(buffer.length - 3 * 32); - } else { - expect(recovered.getSerializedLength()).toEqual(buffer.length); - } - }); - - it('getKernelLength returns the correct length', async () => { - const l2Logs = await FunctionL2Logs.random(1); - - const expectedLength = l2Logs.logs.map(l => l.length).reduce((a, b) => a + b + 4, 0); - - expect(l2Logs.getKernelLength()).toEqual(expectedLength); - }); - }); -} - -shouldBehaveLikeFunctionL2Logs(UnencryptedFunctionL2Logs); diff --git a/yarn-project/circuit-types/src/logs/function_l2_logs.ts b/yarn-project/circuit-types/src/logs/function_l2_logs.ts deleted file mode 100644 index ad406b7b9a33..000000000000 --- a/yarn-project/circuit-types/src/logs/function_l2_logs.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { MAX_CONTRACT_CLASS_LOGS_PER_CALL } from '@aztec/circuits.js'; -import { sha256Trunc } from '@aztec/foundation/crypto'; -import { BufferReader, prefixBufferWithLength } from '@aztec/foundation/serialize'; - -import { z } from 'zod'; - -import { UnencryptedL2Log } from './unencrypted_l2_log.js'; - -/** - * Data container of logs emitted in 1 function invocation (corresponds to 1 kernel iteration). - */ -export class UnencryptedFunctionL2Logs { - constructor( - /** An array of logs. */ - public readonly logs: UnencryptedL2Log[], - ) {} - - /** - * Serializes all function logs into a buffer. - * @returns A buffer containing the serialized logs. - * @remarks Each log is prefixed with 4 bytes for its length, then all the serialized logs are concatenated and - * the resulting buffer is prefixed with 4 bytes for its total length. - */ - public toBuffer(): Buffer { - const serializedLogs = this.logs.map(log => prefixBufferWithLength(log.toBuffer())); - return prefixBufferWithLength(Buffer.concat(serializedLogs)); - } - - /** - * Get the total length of all serialized data - * @returns Total length of serialized data. - */ - public getSerializedLength(): number { - // adding 4 for the resulting buffer length. - return this.getKernelLength() + 4; - } - - /** - * Get the total length of all chargable data (raw log data + 4 for each log) - * TODO: Rename this? getChargableLength? getDALength? - * @returns Total length of data. - */ - public getKernelLength(): number { - // Adding 4 to each log's length to account for the size stored in the serialized buffer - return this.logs.reduce((acc, log) => acc + log.length + 4, 0); - } - - /** - * Calculates hash of serialized logs. - * @returns Buffer containing 248 bits of information of sha256 hash. - */ - public hash(): Buffer { - // Truncated SHA hash of the concatenation of the hash of each inner log - // Changed in resolving #5017 to mimic logs hashing in kernels - const preimage = Buffer.concat(this.logs.map(l => l.hash())); - return sha256Trunc(preimage); - } - - static get schema() { - return z - .object({ logs: z.array(UnencryptedL2Log.schema) }) - .transform(({ logs }) => new UnencryptedFunctionL2Logs(logs)); - } - - /** - * Creates an empty L2Logs object with no logs. - * @returns A new FunctionL2Logs object with no logs. - */ - public static empty(): UnencryptedFunctionL2Logs { - return new UnencryptedFunctionL2Logs([]); - } - - /** - * Deserializes logs from a buffer. - * @param buf - The buffer containing the serialized logs. - * @param isLengthPrefixed - Whether the buffer is prefixed with 4 bytes for its total length. - * @returns Deserialized instance of `FunctionL2Logs`. - */ - public static fromBuffer(buf: Buffer, isLengthPrefixed = true): UnencryptedFunctionL2Logs { - const reader = new BufferReader(buf, 0); - - // If the buffer is length prefixed use the length to read the array. Otherwise, the entire buffer is consumed. - const logsBufLength = isLengthPrefixed ? reader.readNumber() : -1; - const logs = reader.readBufferArray(logsBufLength); - - return new UnencryptedFunctionL2Logs(logs.map(UnencryptedL2Log.fromBuffer)); - } - - /** - * Creates a new L2Logs object with `numLogs` logs. - * @param numLogs - The number of logs to create. - * @returns A new UnencryptedFunctionL2Logs object. - */ - public static async random(numLogs: number): Promise { - if (numLogs > MAX_CONTRACT_CLASS_LOGS_PER_CALL) { - throw new Error(`Trying to create ${numLogs} logs for one call (max: ${MAX_CONTRACT_CLASS_LOGS_PER_CALL})`); - } - const logs: UnencryptedL2Log[] = []; - for (let i = 0; i < numLogs; i++) { - logs.push(await UnencryptedL2Log.random()); - } - return new UnencryptedFunctionL2Logs(logs); - } -} diff --git a/yarn-project/circuit-types/src/logs/get_logs_response.ts b/yarn-project/circuit-types/src/logs/get_logs_response.ts index 2beb84805049..a27f05c5fc1b 100644 --- a/yarn-project/circuit-types/src/logs/get_logs_response.ts +++ b/yarn-project/circuit-types/src/logs/get_logs_response.ts @@ -5,19 +5,19 @@ import { BufferReader, boolToBuffer, numToUInt32BE } from '@aztec/foundation/ser import { z } from 'zod'; import { TxHash } from '../tx/tx_hash.js'; +import { ExtendedContractClassLog } from './extended_contract_class_log.js'; import { ExtendedPublicLog } from './extended_public_log.js'; -import { ExtendedUnencryptedL2Log } from './extended_unencrypted_l2_log.js'; /** Response for the getContractClassLogs archiver call. */ export type GetContractClassLogsResponse = { - /** An array of ExtendedUnencryptedL2Log elements. */ - logs: ExtendedUnencryptedL2Log[]; + /** An array of ExtendedContractClassLog elements. */ + logs: ExtendedContractClassLog[]; /** Indicates if a limit has been reached. */ maxLogsHit: boolean; }; export const GetContractClassLogsResponseSchema = z.object({ - logs: z.array(ExtendedUnencryptedL2Log.schema), + logs: z.array(ExtendedContractClassLog.schema), maxLogsHit: z.boolean(), }) satisfies ZodFor; diff --git a/yarn-project/circuit-types/src/logs/index.ts b/yarn-project/circuit-types/src/logs/index.ts index 97dd524ca9b6..529eba44c21a 100644 --- a/yarn-project/circuit-types/src/logs/index.ts +++ b/yarn-project/circuit-types/src/logs/index.ts @@ -1,12 +1,8 @@ export * from './event_metadata.js'; export * from './get_logs_response.js'; -export * from './function_l2_logs.js'; -export * from './l2_block_l2_logs.js'; export * from './l2_logs_source.js'; export * from './log_id.js'; export * from './log_filter.js'; export * from './l1_payload/index.js'; -export * from './tx_l2_logs.js'; -export * from './unencrypted_l2_log.js'; -export * from './extended_unencrypted_l2_log.js'; export * from './extended_public_log.js'; +export * from './extended_contract_class_log.js'; diff --git a/yarn-project/circuit-types/src/logs/l2_block_l2_logs.test.ts b/yarn-project/circuit-types/src/logs/l2_block_l2_logs.test.ts deleted file mode 100644 index 5d8e30f3f329..000000000000 --- a/yarn-project/circuit-types/src/logs/l2_block_l2_logs.test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { jsonStringify } from '@aztec/foundation/json-rpc'; - -import { ContractClass2BlockL2Logs } from './l2_block_l2_logs.js'; - -function shouldBehaveLikeL2BlockL2Logs(L2BlockL2Logs: typeof ContractClass2BlockL2Logs) { - describe(L2BlockL2Logs.name, () => { - it('can encode L2Logs to buffer and back', async () => { - const l2Logs = await L2BlockL2Logs.random(3, 1, 1); - const buffer = l2Logs.toBuffer(); - const recovered = L2BlockL2Logs.fromBuffer(buffer); - - expect(recovered).toEqual(l2Logs); - }); - - it('getSerializedLength returns the correct length', async () => { - const l2Logs = await L2BlockL2Logs.random(3, 1, 1); - const buffer = l2Logs.toBuffer(); - const recovered = L2BlockL2Logs.fromBuffer(buffer); - expect(recovered.getSerializedLength()).toEqual(buffer.length); - }); - - it('serializes to and from JSON via schema', async () => { - const l2Logs = await L2BlockL2Logs.random(3, 1, 1); - const json = jsonStringify(l2Logs); - const recovered = L2BlockL2Logs.schema.parse(JSON.parse(json)); - expect(recovered).toEqual(l2Logs); - expect(recovered).toBeInstanceOf(L2BlockL2Logs); - }); - }); -} - -shouldBehaveLikeL2BlockL2Logs(ContractClass2BlockL2Logs); diff --git a/yarn-project/circuit-types/src/logs/l2_block_l2_logs.ts b/yarn-project/circuit-types/src/logs/l2_block_l2_logs.ts deleted file mode 100644 index f9f41f325ba4..000000000000 --- a/yarn-project/circuit-types/src/logs/l2_block_l2_logs.ts +++ /dev/null @@ -1,146 +0,0 @@ -import { BufferReader, prefixBufferWithLength } from '@aztec/foundation/serialize'; -import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; - -import isEqual from 'lodash.isequal'; -import { z } from 'zod'; - -import { ContractClassTxL2Logs, type TxL2Logs } from './tx_l2_logs.js'; -import { type UnencryptedL2Log } from './unencrypted_l2_log.js'; - -/** - * Data container of logs emitted in all txs in a given L2 block. - */ -abstract class L2BlockL2Logs { - constructor( - /** - * An array containing logs emitted in individual function invocations in this tx. - */ - public readonly txLogs: TxL2Logs[], - ) {} - - /** - * Serializes logs into a buffer. - * @returns A buffer containing the serialized logs. - */ - public toBuffer(): Buffer { - const serializedTxLogs = this.txLogs.map(logs => logs.toBuffer()); - // Concatenate all serialized function logs into a single buffer and prefix it with 4 bytes for its total length. - return prefixBufferWithLength(Buffer.concat(serializedTxLogs)); - } - - /** - * Get the total length of serialized data. - * @returns Total length of serialized data. - */ - public getSerializedLength(): number { - return this.txLogs.reduce((acc, logs) => acc + logs.getSerializedLength(), 0) + 4; - } - - /** - * Gets the total number of logs emitted from all the TxL2Logs. - */ - public getTotalLogCount(): number { - return this.txLogs.reduce((acc, logs) => acc + logs.getTotalLogCount(), 0); - } - - /** - * Seralizes logs into a string. - * @returns A string representation of the serialized logs. - */ - public toString(): string { - return bufferToHex(this.toBuffer()); - } - - /** - * Checks if two L2BlockL2Logs objects are equal. - * @param other - Another L2BlockL2Logs object to compare with. - * @returns True if the two objects are equal, false otherwise. - */ - public equals(other: L2BlockL2Logs): boolean { - return isEqual(this, other); - } - - /** - * Returns the total number of log entries across an array of L2BlockL2Logs. - * @param l2BlockL2logs - L2BlockL2Logs to sum over. - * @returns Total sum of log entries. - */ - public static getTotalLogCount(l2BlockL2logs: L2BlockL2Logs[]): number { - return l2BlockL2logs.reduce((sum, log) => sum + log.getTotalLogCount(), 0); - } -} - -export class ContractClass2BlockL2Logs extends L2BlockL2Logs { - // This class is identical in methods to UnencryptedL2BlockL2Logs, but its - // consistuent ContractClassTxL2Logs must be treated differently, hence new class. - static get schema() { - return z - .object({ txLogs: z.array(ContractClassTxL2Logs.schema) }) - .transform(({ txLogs }) => new ContractClass2BlockL2Logs(txLogs)); - } - - public get type() { - return 'ContractClass'; - } - - /** - * Deserializes logs from a buffer. - * @param buffer - The buffer containing the serialized logs. - * @returns A new `L2BlockL2Logs` object. - */ - public static fromBuffer(buffer: Buffer | BufferReader): ContractClass2BlockL2Logs { - const reader = BufferReader.asReader(buffer); - - const logsBufLength = reader.readNumber(); - const serializedTxLogs = reader.readBufferArray(logsBufLength); - - const txLogs = serializedTxLogs.map(logs => ContractClassTxL2Logs.fromBuffer(logs, false)); - return new ContractClass2BlockL2Logs(txLogs); - } - - /** - * Deserializes logs from a string. - * @param data - The string containing the serialized logs. - * @returns A new `L2BlockL2Logs` object. - */ - public static fromString(data: string): ContractClass2BlockL2Logs { - return ContractClass2BlockL2Logs.fromBuffer(hexToBuffer(data)); - } - - /** - * Creates a new `L2BlockL2Logs` object with `numCalls` function logs and `numLogsPerCall` logs in each function - * call. - * @param numTxs - The number of txs in the block. - * @param numCalls - The number of function calls in the tx. - * @param numLogsPerCall - The number of logs emitted in each function call. - * @returns A new `L2BlockL2Logs` object. - */ - public static async random( - numTxs: number, - numCalls: number, - numLogsPerCall: number, - ): Promise { - const txLogs: ContractClassTxL2Logs[] = []; - for (let i = 0; i < numTxs; i++) { - txLogs.push(await ContractClassTxL2Logs.random(numCalls, numLogsPerCall)); - } - return new ContractClass2BlockL2Logs(txLogs); - } - - /** - * Unrolls logs from a set of blocks. - * @param blockLogs - Input logs from a set of blocks. - * @returns Unrolled logs. - */ - public static unrollLogs(blockLogs: (ContractClass2BlockL2Logs | undefined)[]): UnencryptedL2Log[] { - const logs: UnencryptedL2Log[] = []; - for (const blockLog of blockLogs) { - if (blockLog) { - for (const txLog of blockLog.txLogs) { - logs.push(...txLog.unrollLogs()); - } - } - } - return logs; - } -} diff --git a/yarn-project/circuit-types/src/logs/tx_l2_logs.test.ts b/yarn-project/circuit-types/src/logs/tx_l2_logs.test.ts deleted file mode 100644 index a81e5b3da8db..000000000000 --- a/yarn-project/circuit-types/src/logs/tx_l2_logs.test.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { jsonStringify } from '@aztec/foundation/json-rpc'; - -import { ContractClassTxL2Logs } from './tx_l2_logs.js'; - -function shouldBehaveLikeTxL2Logs(TxL2Logs: typeof ContractClassTxL2Logs) { - describe(TxL2Logs.name, () => { - it('can encode TxL2Logs to buffer and back', async () => { - const l2Logs = await TxL2Logs.random(1, 1); - const buffer = l2Logs.toBuffer(); - const recovered = TxL2Logs.fromBuffer(buffer); - - expect(recovered).toEqual(l2Logs); - }); - - it('can encode TxL2Logs to JSON and back', async () => { - const l2Logs = await TxL2Logs.random(1, 1); - const buffer = jsonStringify(l2Logs); - const recovered = TxL2Logs.schema.parse(JSON.parse(buffer)); - - expect(recovered).toEqual(l2Logs); - }); - - it('getSerializedLength returns the correct length', async () => { - const l2Logs = await TxL2Logs.random(1, 1); - const buffer = l2Logs.toBuffer(); - const recovered = TxL2Logs.fromBuffer(buffer); - expect(recovered.getSerializedLength()).toEqual(buffer.length); - }); - - it('getKernelLength returns the correct length', async () => { - const l2Logs = await TxL2Logs.random(1, 1); - const expectedLength = l2Logs.functionLogs.map(l => l.getKernelLength()).reduce((a, b) => a + b, 0); - - expect(l2Logs.getKernelLength()).toEqual(expectedLength); - }); - }); -} - -shouldBehaveLikeTxL2Logs(ContractClassTxL2Logs); diff --git a/yarn-project/circuit-types/src/logs/tx_l2_logs.ts b/yarn-project/circuit-types/src/logs/tx_l2_logs.ts deleted file mode 100644 index e1becac450ec..000000000000 --- a/yarn-project/circuit-types/src/logs/tx_l2_logs.ts +++ /dev/null @@ -1,216 +0,0 @@ -import { Fr, type LogHash, MAX_CONTRACT_CLASS_LOGS_PER_TX, type ScopedLogHash } from '@aztec/circuits.js'; -import { sha256Trunc } from '@aztec/foundation/crypto'; -import { BufferReader, prefixBufferWithLength } from '@aztec/foundation/serialize'; - -import isEqual from 'lodash.isequal'; -import { z } from 'zod'; - -import { UnencryptedFunctionL2Logs } from './function_l2_logs.js'; -import { type UnencryptedL2Log } from './unencrypted_l2_log.js'; - -/** - * Data container of logs emitted in 1 tx. - * TODO(#8945): Currently only used for contract class logs. When these are fields, delete this class. - */ -export abstract class TxL2Logs { - abstract hash(): Buffer; - - constructor( - /** An array containing logs emitted in individual function invocations in this tx. */ - public readonly functionLogs: UnencryptedFunctionL2Logs[], - ) {} - - /** - * Serializes logs into a buffer. - * @returns A buffer containing the serialized logs. - */ - public toBuffer(): Buffer { - const serializedFunctionLogs = this.functionLogs.map(logs => logs.toBuffer()); - // Concatenate all serialized function logs into a single buffer and prefix it with 4 bytes for its total length. - return prefixBufferWithLength(Buffer.concat(serializedFunctionLogs)); - } - - /** - * Get the total length of serialized data. - * @returns Total length of serialized data. - */ - public getSerializedLength(): number { - return this.functionLogs.reduce((acc, logs) => acc + logs.getSerializedLength(), 0) + 4; - } - - /** - * Get the total length of all chargable data (raw log data + 4 for each log) - * TODO: Rename this? getChargableLength? getDALength? - * @returns Total length of data. - */ - public getKernelLength(): number { - return this.functionLogs.reduce((acc, logs) => acc + logs.getKernelLength(), 0); - } - - /** Gets the total number of logs. */ - public getTotalLogCount() { - return this.functionLogs.reduce((acc, logs) => acc + logs.logs.length, 0); - } - - /** - * Adds function logs to the existing logs. - * @param functionLogs - The function logs to add - * @remarks Used by sequencer to append unencrypted logs emitted in public function calls. - */ - public addFunctionLogs(functionLogs: UnencryptedFunctionL2Logs[]) { - this.functionLogs.push(...functionLogs); - } - - /** - * Unrolls logs from this tx. - * @returns Unrolled logs. - */ - public unrollLogs(): UnencryptedL2Log[] { - return this.functionLogs.flatMap(functionLog => functionLog.logs); - } - - /** - * Checks if two TxL2Logs objects are equal. - * @param other - Another TxL2Logs object to compare with. - * @returns True if the two objects are equal, false otherwise. - */ - public equals(other: TxL2Logs): boolean { - return isEqual(this, other); - } - - /** - * Filter the logs from functions from this TxL2Logs that - * appear in the provided logHashes - * @param logHashes hashes we want to keep - * @param output our aggregation - * @returns our aggregation - */ - public filter(logHashes: LogHash[], output: TxL2Logs): TxL2Logs { - for (const fnLogs of this.functionLogs) { - let include = false; - for (const log of fnLogs.logs) { - if (logHashes.findIndex(lh => lh.value.equals(Fr.fromBuffer(log.getSiloedHash()))) !== -1) { - include = true; - } - } - if (include) { - output.addFunctionLogs([fnLogs]); - } - } - return output; - } - - /** - * Filter the logs from functions from this TxL2Logs that - * appear in the provided scopedLogHashes - * @param logHashes hashes we want to keep - * @param output our aggregation - * @returns our aggregation - */ - public filterScoped(scopedLogHashes: ScopedLogHash[], output: TxL2Logs): TxL2Logs { - for (const fnLogs of this.functionLogs) { - let include = false; - for (const log of fnLogs.logs) { - let contractAddress: any; - if ('contractAddress' in log) { - contractAddress = log.contractAddress; - } else { - throw new Error("Can't run filterScoped in logs without contractAddress or maskedContractAddress"); - } - if ( - scopedLogHashes.findIndex( - slh => slh.contractAddress.equals(contractAddress) && slh.value.equals(Fr.fromBuffer(log.hash())), - ) != -1 - ) { - include = true; - } - } - if (include) { - output.addFunctionLogs([fnLogs]); - } - } - return output; - } -} - -export class ContractClassTxL2Logs extends TxL2Logs { - static get schema() { - return z - .object({ functionLogs: z.array(UnencryptedFunctionL2Logs.schema) }) - .transform(({ functionLogs }) => new ContractClassTxL2Logs(functionLogs)); - } - - /** Creates an empty instance. */ - public static empty() { - return new ContractClassTxL2Logs([]); - } - - /** - * Deserializes logs from a buffer. - * @param buf - The buffer containing the serialized logs. - * @param isLengthPrefixed - Whether the buffer is prefixed with 4 bytes for its total length. - * @returns A new L2Logs object. - */ - public static fromBuffer(buf: Buffer | BufferReader, isLengthPrefixed = true): ContractClassTxL2Logs { - const reader = BufferReader.asReader(buf); - - // If the buffer is length prefixed use the length to read the array. Otherwise, the entire buffer is consumed. - const logsBufLength = isLengthPrefixed ? reader.readNumber() : -1; - const serializedFunctionLogs = reader.readBufferArray(logsBufLength); - - const functionLogs = serializedFunctionLogs.map(logs => UnencryptedFunctionL2Logs.fromBuffer(logs, false)); - return new ContractClassTxL2Logs(functionLogs); - } - - /** - * Creates a new `TxL2Logs` object with `numCalls` function logs and `numLogsPerCall` logs in each invocation. - * @param numCalls - The number of function calls in the tx. - * @param numLogsPerCall - The number of logs emitted in each function call. - * @returns A new `TxL2Logs` object. - */ - public static async random(numCalls: number, numLogsPerCall: number): Promise { - if (numCalls * numLogsPerCall > MAX_CONTRACT_CLASS_LOGS_PER_TX) { - throw new Error( - `Trying to create ${numCalls * numLogsPerCall} logs for one tx (max: ${MAX_CONTRACT_CLASS_LOGS_PER_TX})`, - ); - } - const functionLogs: UnencryptedFunctionL2Logs[] = []; - for (let i = 0; i < numCalls; i++) { - functionLogs.push(await UnencryptedFunctionL2Logs.random(numLogsPerCall)); - } - return new ContractClassTxL2Logs(functionLogs); - } - - /** - * @param logs - Logs to be hashed. - * @returns The hash of the logs. - * Note: This is a TS implementation of `computeKernelUnencryptedLogsHash` function in Decoder.sol. See that function documentation - * for more details. - */ - public override hash(): Buffer { - const unrolledLogs = this.unrollLogs(); - return ContractClassTxL2Logs.hashSiloedLogs(unrolledLogs.map(log => log.getSiloedHash())); - } - - /** - * Hashes siloed contract class logs as in the same way as the base rollup would. - * @param siloedLogHashes - The siloed log hashes - * @returns The hash of the logs. - */ - public static hashSiloedLogs(siloedLogHashes: Buffer[]): Buffer { - if (siloedLogHashes.length == 0) { - return Buffer.alloc(32); - } - - let allSiloedLogHashes = Buffer.alloc(0); - for (const siloedLogHash of siloedLogHashes) { - allSiloedLogHashes = Buffer.concat([allSiloedLogHashes, siloedLogHash]); - } - // pad the end of logs with 0s - for (let i = 0; i < MAX_CONTRACT_CLASS_LOGS_PER_TX - siloedLogHashes.length; i++) { - allSiloedLogHashes = Buffer.concat([allSiloedLogHashes, Buffer.alloc(32)]); - } - - return sha256Trunc(allSiloedLogHashes); - } -} diff --git a/yarn-project/circuit-types/src/logs/unencrypted_l2_log.test.ts b/yarn-project/circuit-types/src/logs/unencrypted_l2_log.test.ts deleted file mode 100644 index 079202f1bce2..000000000000 --- a/yarn-project/circuit-types/src/logs/unencrypted_l2_log.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { jsonStringify } from '@aztec/foundation/json-rpc'; - -import { UnencryptedL2Log } from './unencrypted_l2_log.js'; - -describe('UnencryptedL2Log', () => { - it('can encode L2Logs to buffer and back', async () => { - const l2Logs = await UnencryptedL2Log.random(); - - const buffer = l2Logs.toBuffer(); - const recovered = UnencryptedL2Log.fromBuffer(buffer); - - expect(recovered).toEqual(l2Logs); - }); - - it('can encode to JSON and back', async () => { - const l2Logs = await UnencryptedL2Log.random(); - - const buffer = jsonStringify(l2Logs); - const recovered = UnencryptedL2Log.schema.parse(JSON.parse(buffer)); - - expect(recovered).toEqual(l2Logs); - }); -}); diff --git a/yarn-project/circuit-types/src/logs/unencrypted_l2_log.ts b/yarn-project/circuit-types/src/logs/unencrypted_l2_log.ts deleted file mode 100644 index 449befe8bf36..000000000000 --- a/yarn-project/circuit-types/src/logs/unencrypted_l2_log.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { AztecAddress } from '@aztec/circuits.js'; -import { randomBytes, sha256Trunc } from '@aztec/foundation/crypto'; -import { schemas } from '@aztec/foundation/schemas'; -import { BufferReader, prefixBufferWithLength, toHumanReadable } from '@aztec/foundation/serialize'; - -import { z } from 'zod'; - -/** - * Represents an individual unencrypted log entry. - * TODO(#8945): Currently only used for contract class logs. When these are fields, delete this class. - */ -export class UnencryptedL2Log { - constructor( - /** - * Address of the contract that emitted the event - * NOTE: It would make sense to have the address only in `FunctionL2Logs` because contract address is shared for all - * function logs. I didn't do this because it would require us to have 2 FunctionL2Logs classes (one with contract - * address and one without) for unencrypted and encrypted because encrypted logs can't expose the address in an - * unencrypted form. For this reason separating the classes seems like a premature optimization. - * TODO: Optimize this once it makes sense. - */ - public readonly contractAddress: AztecAddress, - /** The data contents of the log. */ - public readonly data: Buffer, - ) {} - - get length(): number { - // This +4 is because we prefix the log length - see toBuffer below - return this.data.length + AztecAddress.SIZE_IN_BYTES + 4; - } - - /** - * Serializes log to a buffer. - * @returns A buffer containing the serialized log. - */ - public toBuffer(): Buffer { - return Buffer.concat([this.contractAddress.toBuffer(), prefixBufferWithLength(this.data)]); - } - - /** - * Serializes log to a human readable string. - * Outputs the log data as ascii if all bytes are valid ascii characters between 32 and 126, or as hex otherwise. - * @returns A human readable representation of the log. - */ - public toHumanReadable(): string { - const payload = toHumanReadable(this.data); - return `UnencryptedL2Log(contractAddress: ${this.contractAddress.toString()}, data: ${payload})`; - } - - static get schema() { - return z - .object({ contractAddress: schemas.AztecAddress, data: schemas.Buffer }) - .transform(({ contractAddress, data }) => new UnencryptedL2Log(contractAddress, data)); - } - - /** - * Deserializes log from a buffer. - * @param buffer - The buffer or buffer reader containing the log. - * @returns Deserialized instance of `Log`. - */ - public static fromBuffer(buffer: Buffer | BufferReader): UnencryptedL2Log { - const reader = BufferReader.asReader(buffer); - const contractAddress = AztecAddress.fromBuffer(reader); - const data = reader.readBuffer(); - return new UnencryptedL2Log(contractAddress, data); - } - - /** - * Calculates hash of serialized logs. - * @returns Buffer containing 248 bits of information of sha256 hash. - */ - public hash(): Buffer { - const preimage = this.toBuffer(); - return sha256Trunc(preimage); - } - - /** - * Calculates siloed hash of serialized logs. - * In the kernels, we use the storage contract address and not the one encoded here. - * They should match, so it seems fine to use the existing info here. - * @returns Buffer containing 248 bits of information of sha256 hash. - */ - public getSiloedHash(): Buffer { - const hash = this.hash(); - return sha256Trunc(Buffer.concat([this.contractAddress.toBuffer(), hash])); - } - - /** - * Crates a random log. - * @returns A random log. - */ - public static async random(): Promise { - const contractAddress = await AztecAddress.random(); - const dataLength = randomBytes(1)[0]; - const data = randomBytes(dataLength); - return new UnencryptedL2Log(contractAddress, data); - } -} diff --git a/yarn-project/circuit-types/src/mocks.ts b/yarn-project/circuit-types/src/mocks.ts index 68710913c229..523d875b567c 100644 --- a/yarn-project/circuit-types/src/mocks.ts +++ b/yarn-project/circuit-types/src/mocks.ts @@ -22,7 +22,7 @@ import { times } from '@aztec/foundation/collection'; import { randomBytes } from '@aztec/foundation/crypto'; import { Fr } from '@aztec/foundation/fields'; -import { ContractClassTxL2Logs, Note } from './logs/index.js'; +import { Note } from './logs/index.js'; import { ExtendedNote, UniqueNote } from './notes/index.js'; import { CountedPublicExecutionRequest, @@ -79,7 +79,6 @@ export const mockPrivateCallExecutionResult = async ( [], enqueuedPublicFunctionCalls.map((call, index) => new CountedPublicExecutionRequest(call, index)), publicTeardownFunctionCall, - [], ); }; @@ -150,13 +149,7 @@ export const mockTx = async ( .build(); } - const tx = new Tx( - data, - ClientIvcProof.empty(), - ContractClassTxL2Logs.empty(), - enqueuedPublicFunctionCalls, - publicTeardownFunctionCall, - ); + const tx = new Tx(data, ClientIvcProof.empty(), enqueuedPublicFunctionCalls, publicTeardownFunctionCall); return tx; }; diff --git a/yarn-project/circuit-types/src/private_execution_result.test.ts b/yarn-project/circuit-types/src/private_execution_result.test.ts index 4a4d67f8c537..458e7dcb3e3c 100644 --- a/yarn-project/circuit-types/src/private_execution_result.test.ts +++ b/yarn-project/circuit-types/src/private_execution_result.test.ts @@ -23,7 +23,6 @@ function emptyCallExecutionResult(): PrivateCallExecutionResult { [], [], PublicExecutionRequest.empty(), - [], ); } diff --git a/yarn-project/circuit-types/src/private_execution_result.ts b/yarn-project/circuit-types/src/private_execution_result.ts index 1f1a9b7e3216..bdfce8d7e6db 100644 --- a/yarn-project/circuit-types/src/private_execution_result.ts +++ b/yarn-project/circuit-types/src/private_execution_result.ts @@ -1,14 +1,14 @@ -import { type IsEmpty, PrivateCircuitPublicInputs, sortByCounter } from '@aztec/circuits.js'; +import { PrivateCircuitPublicInputs, sortByCounter } from '@aztec/circuits.js'; import { NoteSelector } from '@aztec/foundation/abi'; import { timesParallel } from '@aztec/foundation/collection'; -import { randomBytes, randomInt } from '@aztec/foundation/crypto'; +import { randomBytes } from '@aztec/foundation/crypto'; import { Fr } from '@aztec/foundation/fields'; import { type ZodFor, mapSchema, schemas } from '@aztec/foundation/schemas'; import { type FieldsOf } from '@aztec/foundation/types'; import { z } from 'zod'; -import { Note, UnencryptedFunctionL2Logs, UnencryptedL2Log } from './logs/index.js'; +import { Note } from './logs/index.js'; import { PublicExecutionRequest } from './public_execution_request.js'; /** @@ -43,27 +43,6 @@ export class NoteAndSlot { } } -export class CountedContractClassLog implements IsEmpty { - constructor(public log: UnencryptedL2Log, public counter: number) {} - - static get schema() { - return z - .object({ - log: UnencryptedL2Log.schema, - counter: schemas.Integer, - }) - .transform(CountedContractClassLog.from); - } - - static from(fields: { log: UnencryptedL2Log; counter: number }) { - return new CountedContractClassLog(fields.log, fields.counter); - } - - isEmpty(): boolean { - return !this.log.data.length && !this.counter; - } -} - export class CountedPublicExecutionRequest { constructor(public request: PublicExecutionRequest, public counter: number) {} @@ -143,11 +122,6 @@ export class PrivateCallExecutionResult { public enqueuedPublicFunctionCalls: CountedPublicExecutionRequest[], /** Public function execution requested for teardown */ public publicTeardownFunctionCall: PublicExecutionRequest, - /** - * Contract class logs emitted during execution of this function call. - * Note: These are preimages to `contractClassLogsHashes`. - */ - public contractClassLogs: CountedContractClassLog[], ) {} static get schema(): ZodFor { @@ -164,7 +138,6 @@ export class PrivateCallExecutionResult { nestedExecutions: z.array(z.lazy(() => PrivateCallExecutionResult.schema)), enqueuedPublicFunctionCalls: z.array(CountedPublicExecutionRequest.schema), publicTeardownFunctionCall: PublicExecutionRequest.schema, - contractClassLogs: z.array(CountedContractClassLog.schema), }) .transform(PrivateCallExecutionResult.from); } @@ -182,7 +155,6 @@ export class PrivateCallExecutionResult { fields.nestedExecutions, fields.enqueuedPublicFunctionCalls, fields.publicTeardownFunctionCall, - fields.contractClassLogs, ); } @@ -199,7 +171,6 @@ export class PrivateCallExecutionResult { await timesParallel(nested, () => PrivateCallExecutionResult.random(0)), [await CountedPublicExecutionRequest.random()], await PublicExecutionRequest.random(), - [new CountedContractClassLog(await UnencryptedL2Log.random(), randomInt(10))], ); } } @@ -227,26 +198,6 @@ export function collectNoteHashNullifierCounterMap(execResult: PrivateExecutionR return accum; } -/** - * Collect all contract class logs across all nested executions. - * @param execResult - The topmost execution result. - * @returns All contract class logs. - */ -function collectContractClassLogs(execResult: PrivateCallExecutionResult): CountedContractClassLog[] { - return [execResult.contractClassLogs, ...execResult.nestedExecutions.flatMap(collectContractClassLogs)].flat(); -} - -/** - * Collect all contract class logs across all nested executions and sorts by counter. - * @param execResult - The topmost execution result. - * @returns All contract class logs. - */ -export function collectSortedContractClassLogs(execResult: PrivateExecutionResult): UnencryptedFunctionL2Logs { - const allLogs = collectContractClassLogs(execResult.entrypoint); - const sortedLogs = sortByCounter(allLogs); - return new UnencryptedFunctionL2Logs(sortedLogs.map(l => l.log)); -} - function collectEnqueuedCountedPublicExecutionRequests( execResult: PrivateCallExecutionResult, ): CountedPublicExecutionRequest[] { diff --git a/yarn-project/circuit-types/src/stats/stats.ts b/yarn-project/circuit-types/src/stats/stats.ts index 9c9e8ec4076a..0cd7493098c7 100644 --- a/yarn-project/circuit-types/src/stats/stats.ts +++ b/yarn-project/circuit-types/src/stats/stats.ts @@ -222,7 +222,7 @@ export type TxStats = { privateLogCount: number; /** How many classes were registered through the canonical class registerer. */ classRegisteredCount: number; - /** Serialized size of contract class logs. */ + /** Serialized size of contract class logs in fields. */ contractClassLogSize: number; /** How this tx pays for its fee */ feePaymentMethod: 'fee_juice' | 'fpc_public' | 'fpc_private'; diff --git a/yarn-project/circuit-types/src/test/factories.ts b/yarn-project/circuit-types/src/test/factories.ts index 44715bb1f648..7bbb88b7a580 100644 --- a/yarn-project/circuit-types/src/test/factories.ts +++ b/yarn-project/circuit-types/src/test/factories.ts @@ -16,7 +16,7 @@ import { PublicDataWrite, PublicLog, RevertCode, - ScopedLogHash, + ScopedContractClassLogData, TxConstantData, mergeAccumulatedData, } from '@aztec/circuits.js'; @@ -140,7 +140,7 @@ export async function makeBloatedProcessedTx({ } // Remove all logs as it's ugly to mock them at the moment and we are going to change it to have the preimages be part of the public inputs soon. -function clearLogs(data: { publicLogs?: PublicLog[]; contractClassLogsHashes: ScopedLogHash[] }) { +function clearLogs(data: { publicLogs?: PublicLog[]; contractClassLogs: ScopedContractClassLogData[] }) { data.publicLogs?.forEach((_, i) => (data.publicLogs![i] = PublicLog.empty())); - data.contractClassLogsHashes.forEach((_, i) => (data.contractClassLogsHashes[i] = ScopedLogHash.empty())); + data.contractClassLogs.forEach((_, i) => (data.contractClassLogs[i] = ScopedContractClassLogData.empty())); } diff --git a/yarn-project/circuit-types/src/tx/processed_tx.ts b/yarn-project/circuit-types/src/tx/processed_tx.ts index 1272594371fc..59c54f6d2ca9 100644 --- a/yarn-project/circuit-types/src/tx/processed_tx.ts +++ b/yarn-project/circuit-types/src/tx/processed_tx.ts @@ -1,14 +1,14 @@ import { type ClientIvcProof, CombinedConstantData, - Fr, + type Fr, Gas, type GlobalVariables, type PrivateKernelTailCircuitPublicInputs, type PublicDataWrite, RevertCode, } from '@aztec/circuits.js'; -import { siloL2ToL1Message } from '@aztec/circuits.js/hash'; +import { siloContractClassLog, siloL2ToL1Message } from '@aztec/circuits.js/hash'; import { type AvmProvingRequest } from '../interfaces/proving-job.js'; import { type SimulationError } from '../simulation_error.js'; @@ -97,8 +97,7 @@ export async function makeProcessedTxFromPrivateOnlyTx( [feePaymentPublicDataWrite], data.end.privateLogs.filter(l => !l.isEmpty()), [], - data.end.contractClassLogPreimagesLength, - tx.contractClassLogs, + await Promise.all(data.end.contractClassLogs.filter(l => !l.isEmpty()).map(l => siloContractClassLog(l))), ); const gasUsed = { @@ -143,7 +142,10 @@ export async function makeProcessedTxFromTxWithPublicCalls( ...(revertCode.isOK() ? tx.data.forPublic!.revertibleAccumulatedData.privateLogs : []), ].filter(l => !l.isEmpty()); - const contractClassLogPreimagesLength = tx.contractClassLogs.getKernelLength(); + const contractClassLogs = [ + ...tx.data.forPublic!.nonRevertibleAccumulatedData.contractClassLogs, + ...(revertCode.isOK() ? tx.data.forPublic!.revertibleAccumulatedData.contractClassLogs : []), + ].filter(l => !l.isEmpty()); const txEffect = new TxEffect( revertCode, @@ -157,8 +159,7 @@ export async function makeProcessedTxFromTxWithPublicCalls( publicDataWrites, privateLogs, avmPublicInputs.accumulatedData.publicLogs.filter(l => !l.isEmpty()), - new Fr(contractClassLogPreimagesLength), - tx.contractClassLogs, + await Promise.all(contractClassLogs.map(l => siloContractClassLog(l))), ); return { diff --git a/yarn-project/circuit-types/src/tx/simulated_tx.ts b/yarn-project/circuit-types/src/tx/simulated_tx.ts index b68a90ab53b7..25372398d525 100644 --- a/yarn-project/circuit-types/src/tx/simulated_tx.ts +++ b/yarn-project/circuit-types/src/tx/simulated_tx.ts @@ -7,13 +7,11 @@ import { type PrivateKernelProverProfileResult, PrivateKernelProverProfileResultSchema, } from '../interfaces/private_kernel_prover.js'; -import { ContractClassTxL2Logs } from '../logs/tx_l2_logs.js'; import { type PrivateCallExecutionResult, PrivateExecutionResult, collectEnqueuedPublicFunctionCalls, collectPublicTeardownFunctionCall, - collectSortedContractClassLogs, } from '../private_execution_result.js'; import { type GasUsed } from './gas_used.js'; import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simulation_output.js'; @@ -30,17 +28,10 @@ export class PrivateSimulationResult { } toSimulatedTx(): Tx { - const contractClassLogs = new ContractClassTxL2Logs([collectSortedContractClassLogs(this.privateExecutionResult)]); const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(this.privateExecutionResult); const teardownPublicFunction = collectPublicTeardownFunctionCall(this.privateExecutionResult); - const tx = new Tx( - this.publicInputs, - ClientIvcProof.empty(), - contractClassLogs, - enqueuedPublicFunctions, - teardownPublicFunction, - ); + const tx = new Tx(this.publicInputs, ClientIvcProof.empty(), enqueuedPublicFunctions, teardownPublicFunction); return tx; } } @@ -119,17 +110,10 @@ export class TxProvingResult { ) {} toTx(): Tx { - const contractClassLogs = new ContractClassTxL2Logs([collectSortedContractClassLogs(this.privateExecutionResult)]); const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(this.privateExecutionResult); const teardownPublicFunction = collectPublicTeardownFunctionCall(this.privateExecutionResult); - const tx = new Tx( - this.publicInputs, - this.clientIvcProof, - contractClassLogs, - enqueuedPublicFunctions, - teardownPublicFunction, - ); + const tx = new Tx(this.publicInputs, this.clientIvcProof, enqueuedPublicFunctions, teardownPublicFunction); return tx; } diff --git a/yarn-project/circuit-types/src/tx/tx.ts b/yarn-project/circuit-types/src/tx/tx.ts index 50deb357c465..982742e0bf79 100644 --- a/yarn-project/circuit-types/src/tx/tx.ts +++ b/yarn-project/circuit-types/src/tx/tx.ts @@ -4,7 +4,6 @@ import { type GasSettings, PrivateKernelTailCircuitPublicInputs, PrivateLog, - type PrivateToPublicAccumulatedData, } from '@aztec/circuits.js'; import { Buffer32 } from '@aztec/foundation/buffer'; import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection'; @@ -15,7 +14,6 @@ import { z } from 'zod'; import { type GetPublicLogsResponse } from '../logs/get_logs_response.js'; import { type L2LogsSource } from '../logs/l2_logs_source.js'; -import { ContractClassTxL2Logs } from '../logs/tx_l2_logs.js'; import { Gossipable } from '../p2p/gossipable.js'; import { TopicType, createTopicString } from '../p2p/topic_type.js'; import { PublicExecutionRequest } from '../public_execution_request.js'; @@ -41,10 +39,6 @@ export class Tx extends Gossipable { * */ public readonly clientIvcProof: ClientIvcProof, - /** - * Contract class logs generated by the tx. - */ - public contractClassLogs: ContractClassTxL2Logs, /** * Enqueued public functions from the private circuit to be run by the sequencer. */ @@ -99,7 +93,6 @@ export class Tx extends Gossipable { return new Tx( reader.readObject(PrivateKernelTailCircuitPublicInputs), reader.readObject(ClientIvcProof), - reader.readObject(ContractClassTxL2Logs), reader.readVectorUint8Prefix(PublicExecutionRequest), reader.readObject(PublicExecutionRequest), ); @@ -112,7 +105,6 @@ export class Tx extends Gossipable { return new Tx( data, ClientIvcProof.empty(), - ContractClassTxL2Logs.empty(), [], publicTeardownExecutionRequest ? publicTeardownExecutionRequest : PublicExecutionRequest.empty(), ); @@ -126,7 +118,6 @@ export class Tx extends Gossipable { return serializeToBuffer([ this.data, this.clientIvcProof, - this.contractClassLogs, serializeArrayOfBufferableToVector(this.enqueuedPublicFunctionCalls, 1), this.publicTeardownFunctionCall, ]); @@ -137,7 +128,6 @@ export class Tx extends Gossipable { .object({ data: PrivateKernelTailCircuitPublicInputs.schema, clientIvcProof: ClientIvcProof.schema, - contractClassLogs: ContractClassTxL2Logs.schema, enqueuedPublicFunctionCalls: z.array(PublicExecutionRequest.schema), publicTeardownFunctionCall: PublicExecutionRequest.schema, }) @@ -148,7 +138,6 @@ export class Tx extends Gossipable { return new Tx( fields.data, fields.clientIvcProof, - fields.contractClassLogs, fields.enqueuedPublicFunctionCalls, fields.publicTeardownFunctionCall, ); @@ -195,6 +184,8 @@ export class Tx extends Gossipable { noteHashCount: this.data.getNonEmptyNoteHashes().length, nullifierCount: this.data.getNonEmptyNullifiers().length, privateLogCount: this.data.getNonEmptyPrivateLogs().length, + classRegisteredCount: this.data.getNonEmptyContractClassLogs().length, + contractClassLogSize: this.data.getNonEmptyContractClassLogsLength(), proofSize: this.clientIvcProof.clientIvcProofBuffer.length, size: this.toBuffer().length, @@ -207,8 +198,6 @@ export class Tx extends Gossipable { ? 'fpc_public' : 'fpc_private' : 'fee_juice', - classRegisteredCount: this.contractClassLogs.unrollLogs().length, - contractClassLogSize: this.contractClassLogs.getSerializedLength(), }; } @@ -216,7 +205,6 @@ export class Tx extends Gossipable { return ( this.data.getSize() + this.clientIvcProof.clientIvcProofBuffer.length + - this.contractClassLogs.getSerializedLength() + arraySerializedSizeOfNonEmpty(this.enqueuedPublicFunctionCalls) + arraySerializedSizeOfNonEmpty([this.publicTeardownFunctionCall]) ); @@ -228,10 +216,10 @@ export class Tx extends Gossipable { */ getEstimatedPrivateTxEffectsSize() { return ( - this.contractClassLogs.getSerializedLength() + this.data.getNonEmptyNoteHashes().length * Fr.SIZE_IN_BYTES + this.data.getNonEmptyNullifiers().length * Fr.SIZE_IN_BYTES + - this.data.getNonEmptyPrivateLogs().length * PrivateLog.SIZE_IN_BYTES + this.data.getNonEmptyPrivateLogs().length * PrivateLog.SIZE_IN_BYTES + + this.data.getNonEmptyContractClassLogsLength() * Fr.SIZE_IN_BYTES ); } @@ -261,18 +249,11 @@ export class Tx extends Gossipable { static clone(tx: Tx): Tx { const publicInputs = PrivateKernelTailCircuitPublicInputs.fromBuffer(tx.data.toBuffer()); const clientIvcProof = ClientIvcProof.fromBuffer(tx.clientIvcProof.toBuffer()); - const contractClassLogs = ContractClassTxL2Logs.fromBuffer(tx.contractClassLogs.toBuffer()); const enqueuedPublicFunctionCalls = tx.enqueuedPublicFunctionCalls.map(x => PublicExecutionRequest.fromBuffer(x.toBuffer()), ); const publicTeardownFunctionCall = PublicExecutionRequest.fromBuffer(tx.publicTeardownFunctionCall.toBuffer()); - const clonedTx = new Tx( - publicInputs, - clientIvcProof, - contractClassLogs, - enqueuedPublicFunctionCalls, - publicTeardownFunctionCall, - ); + const clonedTx = new Tx(publicInputs, clientIvcProof, enqueuedPublicFunctionCalls, publicTeardownFunctionCall); if (tx.txHash) { clonedTx.setTxHash(TxHash.fromBuffer(tx.txHash.toBuffer())); } @@ -284,32 +265,10 @@ export class Tx extends Gossipable { return new Tx( PrivateKernelTailCircuitPublicInputs.emptyWithNullifier(), ClientIvcProof.empty(), - await ContractClassTxL2Logs.random(1, 1), [await PublicExecutionRequest.random()], await PublicExecutionRequest.random(), ); } - - /** - * Filters out logs from functions that are not present in the provided kernel output. - * - * The purpose of this is to remove logs that got dropped due to a revert, - * in which case, we only have the kernel's hashes to go on, as opposed to - * this grouping by function maintained in this class. - * - * The logic therefore is to drop all FunctionLogs if any constituent hash - * does not appear in the provided hashes: it is impossible for part of a - * function to revert. - * - * @param logHashes the individual log hashes we want to keep - * @param out the output to put passing logs in, to keep this function abstract - */ - public filterRevertedLogs(privateNonRevertible: PrivateToPublicAccumulatedData) { - this.contractClassLogs = this.contractClassLogs.filterScoped( - privateNonRevertible.contractClassLogsHashes, - ContractClassTxL2Logs.empty(), - ); - } } /** Utility type for an entity that has a hash property for a txhash */ diff --git a/yarn-project/circuit-types/src/tx_effect.test.ts b/yarn-project/circuit-types/src/tx_effect.test.ts index d6bbcf9cd19e..306e0ae88852 100644 --- a/yarn-project/circuit-types/src/tx_effect.test.ts +++ b/yarn-project/circuit-types/src/tx_effect.test.ts @@ -12,8 +12,7 @@ describe('TxEffect', () => { it('converts to and from fields', async () => { const txEffect = await TxEffect.random(); const fields = txEffect.toBlobFields(); - // TODO(#8954): When logs are refactored into fields, we won't need to inject them here - expect(TxEffect.fromBlobFields(fields, txEffect.contractClassLogs)).toEqual(txEffect); + expect(TxEffect.fromBlobFields(fields)).toEqual(txEffect); }); it('converts empty to and from fields', () => { @@ -33,8 +32,7 @@ describe('TxEffect', () => { fields = txEffect.toBlobFields(); // Add an extra field fields.push(new Fr(7)); - // TODO(#8954): When logs are refactored into fields, we won't need to inject them here - expect(() => TxEffect.fromBlobFields(fields, txEffect.contractClassLogs)).toThrow('Too many fields'); + expect(() => TxEffect.fromBlobFields(fields)).toThrow('Too many fields'); txEffect = await TxEffect.random(); fields = txEffect.toBlobFields(); @@ -44,7 +42,6 @@ describe('TxEffect', () => { // Add an extra field which looks like a valid prefix const fakePrefix = new Fr(buf); fields.push(fakePrefix); - // TODO(#8954): When logs are refactored into fields, we won't need to inject them here - expect(() => TxEffect.fromBlobFields(fields, txEffect.contractClassLogs)).toThrow('Invalid fields'); + expect(() => TxEffect.fromBlobFields(fields)).toThrow('Invalid fields'); }); }); diff --git a/yarn-project/circuit-types/src/tx_effect.ts b/yarn-project/circuit-types/src/tx_effect.ts index 5ad060395853..7341f807b8e4 100644 --- a/yarn-project/circuit-types/src/tx_effect.ts +++ b/yarn-project/circuit-types/src/tx_effect.ts @@ -1,7 +1,10 @@ import { CONTRACT_CLASS_LOGS_PREFIX, + CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, + ContractClassLog, Fr, L2_L1_MSGS_PREFIX, + MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, @@ -25,7 +28,6 @@ import { type FieldsOf, makeTuple, makeTupleAsync } from '@aztec/foundation/arra import { toBufferBE } from '@aztec/foundation/bigint-buffer'; import { padArrayEnd } from '@aztec/foundation/collection'; import { sha256Trunc } from '@aztec/foundation/crypto'; -import { jsonStringify } from '@aztec/foundation/json-rpc'; import { schemas } from '@aztec/foundation/schemas'; import { BufferReader, @@ -38,7 +40,6 @@ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; import { inspect } from 'util'; import { z } from 'zod'; -import { ContractClassTxL2Logs, type TxL2Logs } from './logs/index.js'; import { TxHash } from './tx/tx_hash.js'; export { RevertCodeEnum } from '@aztec/circuits.js'; @@ -90,10 +91,9 @@ export class TxEffect { */ public publicLogs: PublicLog[], /** - * The logs and logs lengths of the txEffect + * The contract class logs. */ - public contractClassLogsLength: Fr, - public contractClassLogs: ContractClassTxL2Logs, + public contractClassLogs: ContractClassLog[], ) { // TODO(#4638): Clean this up once we have isDefault() everywhere --> then we don't have to deal with 2 different // functions (isZero and isEmpty) @@ -156,8 +156,7 @@ export class TxEffect { serializeArrayOfBufferableToVector(this.publicDataWrites, 1), serializeArrayOfBufferableToVector(this.privateLogs, 1), serializeArrayOfBufferableToVector(this.publicLogs, 1), - this.contractClassLogsLength, - this.contractClassLogs, + serializeArrayOfBufferableToVector(this.contractClassLogs, 1), ]); } @@ -184,8 +183,7 @@ export class TxEffect { reader.readVectorUint8Prefix(PublicDataWrite), reader.readVectorUint8Prefix(PrivateLog), reader.readVectorUint8Prefix(PublicLog), - Fr.fromBuffer(reader), - reader.readObject(ContractClassTxL2Logs), + reader.readVectorUint8Prefix(ContractClassLog), ); } @@ -218,7 +216,6 @@ export class TxEffect { } static async random(numPublicCallsPerTx = 3, numPublicLogsPerCall = 1): Promise { - const contractClassLogs = await ContractClassTxL2Logs.random(1, 1); return new TxEffect( RevertCode.random(), TxHash.random(), @@ -229,25 +226,12 @@ export class TxEffect { makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, () => new PublicDataWrite(Fr.random(), Fr.random())), makeTuple(MAX_PRIVATE_LOGS_PER_TX, () => new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, Fr.random))), await makeTupleAsync(numPublicCallsPerTx * numPublicLogsPerCall, PublicLog.random), - new Fr(contractClassLogs.getKernelLength()), - contractClassLogs, + makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => ContractClassLog.random()), ); } static empty(): TxEffect { - return new TxEffect( - RevertCode.OK, - TxHash.zero(), - Fr.ZERO, - [], - [], - [], - [], - [], - [], - Fr.ZERO, - ContractClassTxL2Logs.empty(), - ); + return new TxEffect(RevertCode.OK, TxHash.zero(), Fr.ZERO, [], [], [], [], [], [], []); } isEmpty(): boolean { @@ -379,11 +363,13 @@ export class TxEffect { flattened.push(this.toPrefix(PUBLIC_LOGS_PREFIX, this.publicLogs.length * PUBLIC_LOG_SIZE_IN_FIELDS)); flattened.push(...this.publicLogs.map(l => l.toFields()).flat()); } - // TODO(#8954): When logs are refactored into fields, we will append the values here - // Currently appending the single log hash as an interim solution - if (this.contractClassLogs.unrollLogs().length) { - flattened.push(this.toPrefix(CONTRACT_CLASS_LOGS_PREFIX, this.contractClassLogs.unrollLogs().length)); - flattened.push(...this.contractClassLogs.unrollLogs().map(log => Fr.fromBuffer(log.getSiloedHash()))); + if (this.contractClassLogs.length) { + const totalLogLen = this.contractClassLogs.reduce( + (total, log) => total + (log.getEmittedLength() == 0 ? 0 : log.getEmittedLength() + 1), + 0, + ); + flattened.push(this.toPrefix(CONTRACT_CLASS_LOGS_PREFIX, totalLogLen)); + flattened.push(...this.contractClassLogs.flatMap(l => [new Fr(l.getEmittedLength()), ...l.getEmittedFields()])); } // The first value appended to each list of fields representing a tx effect is: @@ -396,9 +382,8 @@ export class TxEffect { /** * Decodes a flat packed array of prefixed fields to TxEffect - * TODO(#8954): When logs are refactored into fields, we won't need to inject them here, instead just reading from fields as below */ - static fromBlobFields(fields: Fr[] | FieldReader, contractClassLogs?: ContractClassTxL2Logs) { + static fromBlobFields(fields: Fr[] | FieldReader) { const ensureEmpty = (arr: Array) => { if (arr.length) { throw new Error('Invalid fields given to TxEffect.fromBlobFields(): Attempted to assign property twice.'); @@ -462,43 +447,29 @@ export class TxEffect { } break; } - // TODO(#8954): When logs are refactored into fields, we will append the read fields here - case CONTRACT_CLASS_LOGS_PREFIX: - // effect.contractClassLogs = ContractClassTxL2Logs.fromFields(reader.readFieldArray(length)); - ensureEmpty(effect.contractClassLogs.functionLogs); - if (!contractClassLogs) { - throw new Error(`Tx effect has contractClassLogs logs, but they were not passed raw to .fromBlobFields()`); + case CONTRACT_CLASS_LOGS_PREFIX: { + ensureEmpty(effect.contractClassLogs); + const flatContractClassLogs = reader.readFieldArray(length); + let i = 0; + while (i < length) { + const logLen = flatContractClassLogs[i++].toNumber(); + const logFields = flatContractClassLogs.slice(i, (i += logLen)); + effect.contractClassLogs.push( + ContractClassLog.fromFields( + logFields.concat(new Array(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - logLen).fill(Fr.ZERO)), + ), + ); } - this.checkInjectedLogs(contractClassLogs, reader.readFieldArray(length)); - effect.contractClassLogs = contractClassLogs; - effect.contractClassLogsLength = new Fr(contractClassLogs.getKernelLength()); break; + } case REVERT_CODE_PREFIX: default: throw new Error(`Too many fields to decode given to TxEffect.fromBlobFields()`); } } - - // If the input fields have no logs, ensure we match the original struct by reassigning injected logs - effect.contractClassLogs = - !effect.contractClassLogs.getTotalLogCount() && contractClassLogs ? contractClassLogs : effect.contractClassLogs; return effect; } - // TODO(#8954): Remove below when logs are refactored into fields - private static checkInjectedLogs(injected: TxL2Logs, expectedHashes: Fr[]) { - injected.unrollLogs().forEach((log, i) => { - const logHash = log.getSiloedHash(); - if (!Fr.fromBuffer(logHash).equals(expectedHashes[i])) { - throw new Error( - `Log hash mismatch when reconstructing tx effect. Expected: ${Fr.fromBuffer(logHash)}, Got: ${ - expectedHashes[i] - }`, - ); - } - }); - } - static from(fields: FieldsOf) { return new TxEffect( fields.revertCode, @@ -510,7 +481,6 @@ export class TxEffect { fields.publicDataWrites, fields.privateLogs, fields.publicLogs, - fields.contractClassLogsLength, fields.contractClassLogs, ); } @@ -527,8 +497,7 @@ export class TxEffect { publicDataWrites: z.array(PublicDataWrite.schema), privateLogs: z.array(PrivateLog.schema), publicLogs: z.array(PublicLog.schema), - contractClassLogsLength: schemas.Fr, - contractClassLogs: ContractClassTxL2Logs.schema, + contractClassLogs: z.array(ContractClassLog.schema), }) .transform(TxEffect.from); } @@ -544,8 +513,7 @@ export class TxEffect { publicDataWrites: [${this.publicDataWrites.map(h => h.toString()).join(', ')}], privateLogs: [${this.privateLogs.map(l => l.toString()).join(', ')}], publicLogs: [${this.publicLogs.map(l => l.toString()).join(', ')}], - contractClassLogsLength: ${this.contractClassLogsLength}, - contractClassLogs: ${jsonStringify(this.contractClassLogs)} + contractClassLogs: [${this.contractClassLogs.map(l => l.toString()).join(', ')}], }`; } diff --git a/yarn-project/circuits.js/src/constants.gen.ts b/yarn-project/circuits.js/src/constants.gen.ts index 347ef462283d..c6efa9bb76ad 100644 --- a/yarn-project/circuits.js/src/constants.gen.ts +++ b/yarn-project/circuits.js/src/constants.gen.ts @@ -149,8 +149,9 @@ export const READ_REQUEST_LENGTH = 2; export const TREE_LEAF_READ_REQUEST_LENGTH = 2; export const PRIVATE_LOG_DATA_LENGTH = 20; export const SCOPED_PRIVATE_LOG_DATA_LENGTH = 21; -export const LOG_HASH_LENGTH = 3; -export const SCOPED_LOG_HASH_LENGTH = 4; +export const CONTRACT_CLASS_LOG_SIZE_IN_FIELDS = 3019; +export const CONTRACT_CLASS_LOG_DATA_LENGTH = 3021; +export const SCOPED_CONTRACT_CLASS_LOG_DATA_LENGTH = 3022; export const NOTE_HASH_LENGTH = 2; export const SCOPED_NOTE_HASH_LENGTH = 3; export const NULLIFIER_LENGTH = 3; @@ -170,7 +171,7 @@ export const TOTAL_FEES_LENGTH = 1; export const TOTAL_MANA_USED_LENGTH = 1; export const BLOCK_HEADER_LENGTH = 25; export const BLOCK_HEADER_LENGTH_BYTES = 648; -export const PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 741; +export const PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 3759; export const PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH = 908; export const PRIVATE_CONTEXT_INPUTS_LENGTH = 40; export const FEE_RECIPIENT_LENGTH = 2; @@ -179,17 +180,17 @@ export const IPA_CLAIM_LENGTH = 10; export const SCOPED_READ_REQUEST_LEN = 3; export const PUBLIC_DATA_READ_LENGTH = 3; export const PRIVATE_VALIDATION_REQUESTS_LENGTH = 772; -export const PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH = 741; +export const PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH = 3758; export const TX_CONSTANT_DATA_LENGTH = 37; export const COMBINED_CONSTANT_DATA_LENGTH = 46; -export const PRIVATE_ACCUMULATED_DATA_LENGTH = 1412; -export const PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 2230; -export const PRIVATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH = 900; +export const PRIVATE_ACCUMULATED_DATA_LENGTH = 4430; +export const PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 5248; +export const PRIVATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH = 3918; export const PRIVATE_TO_AVM_ACCUMULATED_DATA_LENGTH = 160; export const NUM_PRIVATE_TO_AVM_ACCUMULATED_DATA_ARRAYS = 3; export const AVM_ACCUMULATED_DATA_LENGTH = 400; -export const PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 1847; -export const PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 783; +export const PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 7883; +export const PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 3800; export const AVM_CIRCUIT_PUBLIC_INPUTS_LENGTH = 1091; export const CONSTANT_ROLLUP_DATA_LENGTH = 13; export const BASE_OR_MERGE_PUBLIC_INPUTS_LENGTH = 52; @@ -274,6 +275,7 @@ export const L2_GAS_PER_NULLIFIER_READ_REQUEST = 1440; export const L2_GAS_PER_L1_TO_L2_MSG_READ_REQUEST = 1404; export const L2_GAS_PER_LOG_BYTE = 4; export const L2_GAS_PER_PRIVATE_LOG = 0; +export const L2_GAS_PER_CONTRACT_CLASS_LOG = 0; export const L2_GAS_PER_L2_TO_L1_MSG = 200; export const AVM_ADD_BASE_L2_GAS = 27; export const AVM_SUB_BASE_L2_GAS = 27; diff --git a/yarn-project/circuits.js/src/hash/hash.ts b/yarn-project/circuits.js/src/hash/hash.ts index 4489e00f87a3..78ae42df0fa6 100644 --- a/yarn-project/circuits.js/src/hash/hash.ts +++ b/yarn-project/circuits.js/src/hash/hash.ts @@ -3,6 +3,7 @@ import { poseidon2Hash, poseidon2HashWithSeparator, sha256Trunc } from '@aztec/f import { Fr } from '@aztec/foundation/fields'; import { GeneratorIndex } from '../constants.gen.js'; +import { type ContractClassLog, type ScopedContractClassLogData } from '../index.js'; import { type ScopedL2ToL1Message } from '../structs/l2_to_l1_message.js'; /** @@ -131,3 +132,12 @@ export function siloL2ToL1Message(l2ToL1Message: ScopedL2ToL1Message, version: F ]); return Fr.fromBuffer(sha256Trunc(preimage)); } + +export async function siloContractClassLog(log: ScopedContractClassLogData): Promise { + const innerLog = log.inner.log.clone(); + if (log.contractAddress.isZero()) { + return innerLog; + } + innerLog.fields[0] = await poseidon2Hash([log.contractAddress, innerLog.fields[0]]); + return innerLog; +} diff --git a/yarn-project/circuits.js/src/structs/contract_class_log.test.ts b/yarn-project/circuits.js/src/structs/contract_class_log.test.ts new file mode 100644 index 000000000000..6b845900433b --- /dev/null +++ b/yarn-project/circuits.js/src/structs/contract_class_log.test.ts @@ -0,0 +1,45 @@ +import { Fr } from '@aztec/foundation/fields'; + +import { CONTRACT_CLASS_LOG_SIZE_IN_FIELDS } from '../constants.gen.js'; +import { ContractClassLog } from './contract_class_log.js'; + +describe('PublicLog', () => { + let log: ContractClassLog; + + beforeAll(() => { + log = ContractClassLog.random(); + }); + + it('serializes to buffer and deserializes it back', () => { + const buffer = log.toBuffer(); + const res = ContractClassLog.fromBuffer(buffer); + expect(res).toEqual(log); + }); + + it('serializes to field array and deserializes it back', () => { + const fieldArray = log.toFields(); + const res = ContractClassLog.fromFields(fieldArray); + expect(res).toEqual(log); + }); + + it('number of fields matches constant', () => { + const fields = log.toFields(); + expect(fields.length).toBe(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS); + }); + + it('number of emitted fields is correct', () => { + const smallLogFields = [new Fr(1), new Fr(2), new Fr(3)]; + const smallLog = new ContractClassLog( + smallLogFields.concat(new Array(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - smallLogFields.length).fill(Fr.ZERO)), + ); + expect(smallLog.getEmittedFields()).toEqual(smallLogFields); + expect(smallLog.getEmittedLength()).toBe(smallLogFields.length); + + const largeLogFields = Array.from({ length: CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - smallLogFields.length }, () => + Fr.random(), + ); + const largeLog = new ContractClassLog(largeLogFields.concat(new Array(smallLogFields.length).fill(Fr.ZERO))); + expect(largeLog.getEmittedFields()).toEqual(largeLogFields); + expect(largeLog.getEmittedLength()).toBe(largeLogFields.length); + }); +}); diff --git a/yarn-project/circuits.js/src/structs/contract_class_log.ts b/yarn-project/circuits.js/src/structs/contract_class_log.ts new file mode 100644 index 000000000000..ca80418c6344 --- /dev/null +++ b/yarn-project/circuits.js/src/structs/contract_class_log.ts @@ -0,0 +1,99 @@ +import { Fr } from '@aztec/foundation/fields'; +import { schemas } from '@aztec/foundation/schemas'; +import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize'; + +import { inspect } from 'util'; +import { z } from 'zod'; + +import { CONTRACT_CLASS_LOG_SIZE_IN_FIELDS } from '../constants.gen.js'; + +export class ContractClassLog { + static SIZE_IN_BYTES = Fr.SIZE_IN_BYTES * CONTRACT_CLASS_LOG_SIZE_IN_FIELDS; + + // Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)' + // public fields: Tuple + constructor(public fields: Fr[]) { + if (fields.length !== CONTRACT_CLASS_LOG_SIZE_IN_FIELDS) { + throw new Error( + `Invalid number of fields for ContractClassLog. Expected ${CONTRACT_CLASS_LOG_SIZE_IN_FIELDS}, got ${fields.length}`, + ); + } + } + + toFields(): Fr[] { + return this.fields; + } + + static fromFields(fields: Fr[] | FieldReader) { + const reader = FieldReader.asReader(fields); + // Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)' + // return new ContractClassLog(reader.readFieldArray(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS)); + return new ContractClassLog(Array.from({ length: CONTRACT_CLASS_LOG_SIZE_IN_FIELDS }, () => reader.readField())); + } + + isEmpty() { + return this.fields.every(f => f.isZero()); + } + + static empty() { + return new ContractClassLog(new Array(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS).fill(Fr.ZERO)); + } + + toBuffer(): Buffer { + return serializeToBuffer(this.fields); + } + + static fromBuffer(buffer: Buffer | BufferReader) { + const reader = BufferReader.asReader(buffer); + // Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)' + // reader.readArray(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, Fr); + const fields = Array.from({ length: CONTRACT_CLASS_LOG_SIZE_IN_FIELDS }, () => + reader.remainingBytes() == 0 ? Fr.ZERO : Fr.fromBuffer(reader), + ); + return new ContractClassLog(fields); + } + + clone() { + return ContractClassLog.fromBuffer(this.toBuffer()); + } + + static random() { + // TODO(MW): Lazily used /2 instead of CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, because this keeps overfilling block blobs + // Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)' + // makeTuple(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, Fr.random); + const fields = Array.from({ length: Math.ceil(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS / 2) }, () => Fr.random()); + return new ContractClassLog( + fields.concat(Array.from({ length: Math.floor(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS / 2) }, () => Fr.ZERO)), + ); + } + + getEmittedLength() { + // This assumes that we cut trailing zeroes from the end of the log. In ts, these will always be added back. + return this.getEmittedFields().length; + } + + getEmittedFields() { + let lastZeroIndex = 0; + for (let i = this.fields.length - 1; i >= 0; i--) { + if (!this.fields[i].isZero() && lastZeroIndex == 0) { + lastZeroIndex = i + 1; + break; + } + } + return this.fields.slice(0, lastZeroIndex); + } + + static get schema() { + return z + .object({ + fields: z.array(schemas.Fr), + }) + .transform(({ fields }) => ContractClassLog.fromFields(fields)); + } + + [inspect.custom](): string { + return `ContractClassLog { + fields: [${this.fields.map((x: Fr) => inspect(x)).join(', ')}], + }`; + } +} diff --git a/yarn-project/circuits.js/src/structs/contract_class_log_data.ts b/yarn-project/circuits.js/src/structs/contract_class_log_data.ts new file mode 100644 index 000000000000..8b9f95eae701 --- /dev/null +++ b/yarn-project/circuits.js/src/structs/contract_class_log_data.ts @@ -0,0 +1,113 @@ +import { AztecAddress } from '@aztec/foundation/aztec-address'; +import { type Fr } from '@aztec/foundation/fields'; +import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize'; +import { type FieldsOf } from '@aztec/foundation/types'; + +import { inspect } from 'util'; + +import { CONTRACT_CLASS_LOG_DATA_LENGTH } from '../constants.gen.js'; +import { ContractClassLog } from './contract_class_log.js'; +import { type UInt32 } from './shared.js'; + +export class ContractClassLogData { + constructor(public log: ContractClassLog, public counter: UInt32, public logSize: UInt32) {} + + static from(fields: FieldsOf): ContractClassLogData { + return new ContractClassLogData(...ContractClassLogData.getFields(fields)); + } + + static getFields(fields: FieldsOf) { + return [fields.log, fields.counter, fields.logSize] as const; + } + + static fromFields(fields: Fr[] | FieldReader): ContractClassLogData { + const reader = FieldReader.asReader(fields); + return new ContractClassLogData(reader.readObject(ContractClassLog), reader.readU32(), reader.readU32()); + } + + toFields(): Fr[] { + const fields = serializeToFields(...ContractClassLogData.getFields(this)); + if (fields.length !== CONTRACT_CLASS_LOG_DATA_LENGTH) { + throw new Error( + `Invalid number of fields for ContractClassLogData. Expected ${CONTRACT_CLASS_LOG_DATA_LENGTH}, got ${fields.length}`, + ); + } + return fields; + } + + static fromBuffer(buffer: Buffer | BufferReader) { + const reader = BufferReader.asReader(buffer); + return new ContractClassLogData(reader.readObject(ContractClassLog), reader.readNumber(), reader.readNumber()); + } + + toBuffer() { + return serializeToBuffer(...ContractClassLogData.getFields(this)); + } + + static empty() { + return new ContractClassLogData(ContractClassLog.empty(), 0, 0); + } + + isEmpty(): boolean { + return this.log.isEmpty() && !this.counter; + } + + [inspect.custom]() { + return `ContractClassLogData { + log: ${this.log} + counter: ${this.counter} + }`; + } +} + +export class ScopedContractClassLogData { + constructor(public inner: ContractClassLogData, public contractAddress: AztecAddress) {} + + static from(fields: FieldsOf): ScopedContractClassLogData { + return new ScopedContractClassLogData(...ScopedContractClassLogData.getFields(fields)); + } + + static getFields(fields: FieldsOf) { + return [fields.inner, fields.contractAddress] as const; + } + + toFields(): Fr[] { + return serializeToFields(...ScopedContractClassLogData.getFields(this)); + } + + static fromFields(fields: Fr[] | FieldReader) { + const reader = FieldReader.asReader(fields); + return new ScopedContractClassLogData( + reader.readObject(ContractClassLogData), + AztecAddress.fromField(reader.readField()), + ); + } + + isEmpty() { + return this.inner.isEmpty() && this.contractAddress.isZero(); + } + + static empty() { + return new ScopedContractClassLogData(ContractClassLogData.empty(), AztecAddress.ZERO); + } + + toBuffer(): Buffer { + return serializeToBuffer(...ScopedContractClassLogData.getFields(this)); + } + + static fromBuffer(buffer: Buffer | BufferReader) { + const reader = BufferReader.asReader(buffer); + return new ScopedContractClassLogData(ContractClassLogData.fromBuffer(reader), AztecAddress.fromBuffer(reader)); + } + + getEmittedLength() { + return this.inner.log.getEmittedLength(); + } + + [inspect.custom]() { + return `ScopedContractClassLogData { + inner: ${this.inner} + contractAddress: ${this.contractAddress} + }`; + } +} diff --git a/yarn-project/circuits.js/src/structs/index.ts b/yarn-project/circuits.js/src/structs/index.ts index f27cd4a22d12..7f3a7e232042 100644 --- a/yarn-project/circuits.js/src/structs/index.ts +++ b/yarn-project/circuits.js/src/structs/index.ts @@ -7,6 +7,8 @@ export * from './client_ivc_proof.js'; export * from './complete_address.js'; export * from './content_commitment.js'; export * from './context/private_context_inputs.js'; +export * from './contract_class_log.js'; +export * from './contract_class_log_data.js'; export * from './contract_storage_read.js'; export * from './contract_storage_update_request.js'; export * from './function_data.js'; @@ -38,7 +40,6 @@ export * from './kernel/tx_constant_data.js'; export * from './key_validation_request.js'; export * from './key_validation_request_and_generator.js'; export * from './l2_to_l1_message.js'; -export * from './log_hash.js'; export * from './max_block_number.js'; export * from './membership_witness.js'; export * from './note_hash.js'; diff --git a/yarn-project/circuits.js/src/structs/kernel/private_accumulated_data.ts b/yarn-project/circuits.js/src/structs/kernel/private_accumulated_data.ts index 12cbb6a723be..ec6ab2e5ab01 100644 --- a/yarn-project/circuits.js/src/structs/kernel/private_accumulated_data.ts +++ b/yarn-project/circuits.js/src/structs/kernel/private_accumulated_data.ts @@ -11,8 +11,8 @@ import { MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX, MAX_PRIVATE_LOGS_PER_TX, } from '../../constants.gen.js'; +import { ScopedContractClassLogData } from '../contract_class_log_data.js'; import { ScopedL2ToL1Message } from '../l2_to_l1_message.js'; -import { ScopedLogHash } from '../log_hash.js'; import { ScopedNoteHash } from '../note_hash.js'; import { ScopedNullifier } from '../nullifier.js'; import { PrivateCallRequest } from '../private_call_request.js'; @@ -42,10 +42,9 @@ export class PrivateAccumulatedData { */ public privateLogs: Tuple, /** - * Accumulated contract class logs from all the previous kernel iterations. - * Note: Truncated to 31 bytes to fit in Fr. + * Accumulated logs from the registerer from all the previous kernel iterations. */ - public contractClassLogsHashes: Tuple, + public contractClassLogs: Tuple, /** * Accumulated public call requests from all the previous kernel iterations. */ @@ -62,7 +61,7 @@ export class PrivateAccumulatedData { this.nullifiers, this.l2ToL1Msgs, this.privateLogs, - this.contractClassLogsHashes, + this.contractClassLogs, this.publicCallRequests, this.privateCallStack, ); @@ -84,7 +83,7 @@ export class PrivateAccumulatedData { reader.readArray(MAX_NULLIFIERS_PER_TX, ScopedNullifier), reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message), reader.readArray(MAX_PRIVATE_LOGS_PER_TX, ScopedPrivateLogData), - reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedLogHash), + reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedContractClassLogData), reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, CountedPublicCallRequest), reader.readArray(MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX, PrivateCallRequest), ); @@ -105,7 +104,7 @@ export class PrivateAccumulatedData { makeTuple(MAX_NULLIFIERS_PER_TX, ScopedNullifier.empty), makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message.empty), makeTuple(MAX_PRIVATE_LOGS_PER_TX, ScopedPrivateLogData.empty), - makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedLogHash.empty), + makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedContractClassLogData.empty), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, CountedPublicCallRequest.empty), makeTuple(MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX, PrivateCallRequest.empty), ); diff --git a/yarn-project/circuits.js/src/structs/kernel/private_kernel_tail_circuit_public_inputs.ts b/yarn-project/circuits.js/src/structs/kernel/private_kernel_tail_circuit_public_inputs.ts index 9b389874bde4..54c0fa051438 100644 --- a/yarn-project/circuits.js/src/structs/kernel/private_kernel_tail_circuit_public_inputs.ts +++ b/yarn-project/circuits.js/src/structs/kernel/private_kernel_tail_circuit_public_inputs.ts @@ -243,6 +243,20 @@ export class PrivateKernelTailCircuitPublicInputs { return privateLogs.filter(n => !n.isEmpty()); } + getNonEmptyContractClassLogs() { + const contractClassLogs = this.forPublic + ? mergeAccumulatedData( + this.forPublic.nonRevertibleAccumulatedData.contractClassLogs, + this.forPublic.revertibleAccumulatedData.contractClassLogs, + ) + : this.forRollup!.end.contractClassLogs; + return contractClassLogs.filter(n => !n.isEmpty()); + } + + getNonEmptyContractClassLogsLength() { + return this.getNonEmptyContractClassLogs().reduce((total, log) => total + log.getEmittedLength(), 0); + } + static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelTailCircuitPublicInputs { const reader = BufferReader.asReader(buffer); const isForPublic = reader.readBoolean(); diff --git a/yarn-project/circuits.js/src/structs/kernel/private_to_public_accumulated_data.ts b/yarn-project/circuits.js/src/structs/kernel/private_to_public_accumulated_data.ts index b9df967a756e..a7102e161116 100644 --- a/yarn-project/circuits.js/src/structs/kernel/private_to_public_accumulated_data.ts +++ b/yarn-project/circuits.js/src/structs/kernel/private_to_public_accumulated_data.ts @@ -20,8 +20,8 @@ import { MAX_PRIVATE_LOGS_PER_TX, PRIVATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH, } from '../../constants.gen.js'; +import { ScopedContractClassLogData } from '../contract_class_log_data.js'; import { ScopedL2ToL1Message } from '../l2_to_l1_message.js'; -import { ScopedLogHash } from '../log_hash.js'; import { PrivateLog } from '../private_log.js'; import { PublicCallRequest } from '../public_call_request.js'; @@ -31,7 +31,7 @@ export class PrivateToPublicAccumulatedData { public readonly nullifiers: Tuple, public readonly l2ToL1Msgs: Tuple, public readonly privateLogs: Tuple, - public readonly contractClassLogsHashes: Tuple, + public readonly contractClassLogs: Tuple, public readonly publicCallRequests: Tuple, ) {} @@ -41,7 +41,7 @@ export class PrivateToPublicAccumulatedData { arraySerializedSizeOfNonEmpty(this.nullifiers) + arraySerializedSizeOfNonEmpty(this.l2ToL1Msgs) + arraySerializedSizeOfNonEmpty(this.privateLogs) + - arraySerializedSizeOfNonEmpty(this.contractClassLogsHashes) + + arraySerializedSizeOfNonEmpty(this.contractClassLogs) + arraySerializedSizeOfNonEmpty(this.publicCallRequests) ); } @@ -52,7 +52,7 @@ export class PrivateToPublicAccumulatedData { fields.nullifiers, fields.l2ToL1Msgs, fields.privateLogs, - fields.contractClassLogsHashes, + fields.contractClassLogs, fields.publicCallRequests, ] as const; } @@ -64,7 +64,7 @@ export class PrivateToPublicAccumulatedData { reader.readFieldArray(MAX_NULLIFIERS_PER_TX), reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message), reader.readArray(MAX_PRIVATE_LOGS_PER_TX, PrivateLog), - reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedLogHash), + reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedContractClassLogData), reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest), ); } @@ -80,7 +80,7 @@ export class PrivateToPublicAccumulatedData { reader.readArray(MAX_NULLIFIERS_PER_TX, Fr), reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message), reader.readArray(MAX_PRIVATE_LOGS_PER_TX, PrivateLog), - reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedLogHash), + reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedContractClassLogData), reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest), ); } @@ -105,7 +105,7 @@ export class PrivateToPublicAccumulatedData { makeTuple(MAX_NULLIFIERS_PER_TX, Fr.zero), makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message.empty), makeTuple(MAX_PRIVATE_LOGS_PER_TX, PrivateLog.empty), - makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedLogHash.empty), + makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedContractClassLogData.empty), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty), ); } @@ -128,7 +128,7 @@ export class PrivateToPublicAccumulatedData { .filter(x => !x.isEmpty()) .map(h => inspect(h)) .join(', ')}], - contractClassLogsHashes: [${this.contractClassLogsHashes + contractClassLogs: [${this.contractClassLogs .filter(x => !x.isEmpty()) .map(h => inspect(h)) .join(', ')}], diff --git a/yarn-project/circuits.js/src/structs/kernel/private_to_public_accumulated_data_builder.ts b/yarn-project/circuits.js/src/structs/kernel/private_to_public_accumulated_data_builder.ts index 3b12e0501904..9a0546183d23 100644 --- a/yarn-project/circuits.js/src/structs/kernel/private_to_public_accumulated_data_builder.ts +++ b/yarn-project/circuits.js/src/structs/kernel/private_to_public_accumulated_data_builder.ts @@ -9,8 +9,8 @@ import { MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, } from '../../constants.gen.js'; +import { ScopedContractClassLogData } from '../contract_class_log_data.js'; import { ScopedL2ToL1Message } from '../l2_to_l1_message.js'; -import { ScopedLogHash } from '../log_hash.js'; import { PrivateLog } from '../private_log.js'; import { PublicCallRequest } from '../public_call_request.js'; import { PrivateToPublicAccumulatedData } from './private_to_public_accumulated_data.js'; @@ -26,7 +26,7 @@ export class PrivateToPublicAccumulatedDataBuilder { private nullifiers: Fr[] = []; private l2ToL1Msgs: ScopedL2ToL1Message[] = []; private privateLogs: PrivateLog[] = []; - private contractClassLogsHashes: ScopedLogHash[] = []; + private contractClassLogs: ScopedContractClassLogData[] = []; private publicCallRequests: PublicCallRequest[] = []; pushNoteHash(newNoteHash: Fr) { @@ -69,13 +69,13 @@ export class PrivateToPublicAccumulatedDataBuilder { return this; } - pushContractClassLogsHash(contractClassLogsHash: ScopedLogHash) { - this.contractClassLogsHashes.push(contractClassLogsHash); + pushContractClassLog(contractClassLog: ScopedContractClassLogData) { + this.contractClassLogs.push(contractClassLog); return this; } - withContractClassLogsHashes(contractClassLogsHashes: ScopedLogHash[]) { - this.contractClassLogsHashes = contractClassLogsHashes; + withContractClassLogs(contractClassLog: ScopedContractClassLogData[]) { + this.contractClassLogs = contractClassLog; return this; } @@ -95,7 +95,7 @@ export class PrivateToPublicAccumulatedDataBuilder { padArrayEnd(this.nullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX), padArrayEnd(this.l2ToL1Msgs, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX), padArrayEnd(this.privateLogs, PrivateLog.empty(), MAX_PRIVATE_LOGS_PER_TX), - padArrayEnd(this.contractClassLogsHashes, ScopedLogHash.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX), + padArrayEnd(this.contractClassLogs, ScopedContractClassLogData.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX), padArrayEnd(this.publicCallRequests, PublicCallRequest.empty(), MAX_ENQUEUED_CALLS_PER_TX), ); } diff --git a/yarn-project/circuits.js/src/structs/kernel/private_to_rollup_accumulated_data.ts b/yarn-project/circuits.js/src/structs/kernel/private_to_rollup_accumulated_data.ts index 7d511c61ca91..242725df020e 100644 --- a/yarn-project/circuits.js/src/structs/kernel/private_to_rollup_accumulated_data.ts +++ b/yarn-project/circuits.js/src/structs/kernel/private_to_rollup_accumulated_data.ts @@ -15,8 +15,8 @@ import { MAX_PRIVATE_LOGS_PER_TX, PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH, } from '../../constants.gen.js'; +import { ScopedContractClassLogData } from '../contract_class_log_data.js'; import { ScopedL2ToL1Message } from '../l2_to_l1_message.js'; -import { ScopedLogHash } from '../log_hash.js'; import { PrivateLog } from '../private_log.js'; /** @@ -41,14 +41,9 @@ export class PrivateToRollupAccumulatedData { */ public privateLogs: Tuple, /** - * Accumulated contract class logs hash from all the previous kernel iterations. - * Note: Truncated to 31 bytes to fit in Fr. + * All the logs created emitted from the registerer contract in this transaction. */ - public contractClassLogsHashes: Tuple, - /** - * Total accumulated length of the contract class log preimages emitted in all the previous kernel iterations - */ - public contractClassLogPreimagesLength: Fr, + public contractClassLogs: Tuple, ) {} getSize() { @@ -57,8 +52,7 @@ export class PrivateToRollupAccumulatedData { arraySerializedSizeOfNonEmpty(this.nullifiers) + arraySerializedSizeOfNonEmpty(this.l2ToL1Msgs) + arraySerializedSizeOfNonEmpty(this.privateLogs) + - arraySerializedSizeOfNonEmpty(this.contractClassLogsHashes) + - this.contractClassLogPreimagesLength.size + arraySerializedSizeOfNonEmpty(this.contractClassLogs) ); } @@ -68,8 +62,7 @@ export class PrivateToRollupAccumulatedData { fields.nullifiers, fields.l2ToL1Msgs, fields.privateLogs, - fields.contractClassLogsHashes, - fields.contractClassLogPreimagesLength, + fields.contractClassLogs, ] as const; } @@ -105,8 +98,7 @@ export class PrivateToRollupAccumulatedData { reader.readArray(MAX_NULLIFIERS_PER_TX, Fr), reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message), reader.readArray(MAX_PRIVATE_LOGS_PER_TX, PrivateLog), - reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedLogHash), - Fr.fromBuffer(reader), + reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedContractClassLogData), ); } @@ -125,8 +117,7 @@ export class PrivateToRollupAccumulatedData { makeTuple(MAX_NULLIFIERS_PER_TX, Fr.zero), makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message.empty), makeTuple(MAX_PRIVATE_LOGS_PER_TX, PrivateLog.empty), - makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedLogHash.empty), - Fr.zero(), + makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ScopedContractClassLogData.empty), ); } @@ -158,11 +149,10 @@ export class PrivateToRollupAccumulatedData { .filter(x => !x.isEmpty()) .map(x => inspect(x)) .join(', ')}] - contractClassLogsHashes: : [${this.contractClassLogsHashes + contractClassLogs: : [${this.contractClassLogs .filter(x => !x.isEmpty()) .map(x => inspect(x)) .join(', ')}], - contractClassLogPreimagesLength: ${this.contractClassLogPreimagesLength.toString()}, }`; } } diff --git a/yarn-project/circuits.js/src/structs/log_hash.ts b/yarn-project/circuits.js/src/structs/log_hash.ts deleted file mode 100644 index de06c7c02b4f..000000000000 --- a/yarn-project/circuits.js/src/structs/log_hash.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { AztecAddress } from '@aztec/foundation/aztec-address'; -import { sha256Trunc } from '@aztec/foundation/crypto'; -import { Fr } from '@aztec/foundation/fields'; -import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize'; - -import { inspect } from 'util'; - -import { type Ordered } from '../interfaces/index.js'; - -export class LogHash implements Ordered { - constructor(public value: Fr, public counter: number, public length: Fr) {} - - toFields(): Fr[] { - return [this.value, new Fr(this.counter), this.length]; - } - - static fromFields(fields: Fr[] | FieldReader) { - const reader = FieldReader.asReader(fields); - return new LogHash(reader.readField(), reader.readU32(), reader.readField()); - } - - isEmpty() { - return this.value.isZero() && this.length.isZero() && !this.counter; - } - - static empty() { - return new LogHash(Fr.zero(), 0, Fr.zero()); - } - - toBuffer(): Buffer { - return serializeToBuffer(this.value, this.counter, this.length); - } - - static fromBuffer(buffer: Buffer | BufferReader) { - const reader = BufferReader.asReader(buffer); - return new LogHash(Fr.fromBuffer(reader), reader.readNumber(), Fr.fromBuffer(reader)); - } - - toString(): string { - return `value=${this.value} counter=${this.counter} length=${this.length}`; - } - - scope(contractAddress: AztecAddress) { - return new ScopedLogHash(this, contractAddress); - } - - [inspect.custom](): string { - return `LogHash { ${this.toString()} }`; - } -} - -export class ScopedLogHash implements Ordered { - constructor(public logHash: LogHash, public contractAddress: AztecAddress) {} - - get counter() { - return this.logHash.counter; - } - - get value() { - return this.logHash.value; - } - - toFields(): Fr[] { - return [...this.logHash.toFields(), this.contractAddress.toField()]; - } - - static fromFields(fields: Fr[] | FieldReader) { - const reader = FieldReader.asReader(fields); - return new ScopedLogHash(reader.readObject(LogHash), AztecAddress.fromField(reader.readField())); - } - - isEmpty() { - return this.logHash.isEmpty() && this.contractAddress.isZero(); - } - - static empty() { - return new ScopedLogHash(LogHash.empty(), AztecAddress.ZERO); - } - - toBuffer(): Buffer { - return serializeToBuffer(this.logHash, this.contractAddress); - } - - static fromBuffer(buffer: Buffer | BufferReader) { - const reader = BufferReader.asReader(buffer); - return new ScopedLogHash(LogHash.fromBuffer(reader), AztecAddress.fromBuffer(reader)); - } - - toString(): string { - return `logHash=${this.logHash} contractAddress=${this.contractAddress}`; - } - - getSiloedHash(): Buffer { - return sha256Trunc(Buffer.concat([this.contractAddress.toBuffer(), this.value.toBuffer()])); - } -} diff --git a/yarn-project/circuits.js/src/structs/private_circuit_public_inputs.ts b/yarn-project/circuits.js/src/structs/private_circuit_public_inputs.ts index 94c0041a9252..ff314971fe71 100644 --- a/yarn-project/circuits.js/src/structs/private_circuit_public_inputs.ts +++ b/yarn-project/circuits.js/src/structs/private_circuit_public_inputs.ts @@ -26,9 +26,9 @@ import { import { BlockHeader } from '../structs/block_header.js'; import { isEmptyArray } from '../utils/index.js'; import { CallContext } from './call_context.js'; +import { ContractClassLogData } from './contract_class_log_data.js'; import { KeyValidationRequestAndGenerator } from './key_validation_request_and_generator.js'; import { L2ToL1Message } from './l2_to_l1_message.js'; -import { LogHash } from './log_hash.js'; import { MaxBlockNumber } from './max_block_number.js'; import { NoteHash } from './note_hash.js'; import { Nullifier } from './nullifier.js'; @@ -111,10 +111,9 @@ export class PrivateCircuitPublicInputs { */ public privateLogs: Tuple, /** - * Hash of the contract class logs emitted in this function call. - * Note: Truncated to 31 bytes to fit in Fr. + * Logs emitted from the contract class registerer in this function call. */ - public contractClassLogsHashes: Tuple, + public contractClassLogs: Tuple, /** * The side effect counter at the start of this call. */ @@ -170,7 +169,7 @@ export class PrivateCircuitPublicInputs { reader.readObject(PublicCallRequest), reader.readArray(MAX_L2_TO_L1_MSGS_PER_CALL, L2ToL1Message), reader.readArray(MAX_PRIVATE_LOGS_PER_CALL, PrivateLogData), - reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_CALL, LogHash), + reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_CALL, ContractClassLogData), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(BlockHeader), @@ -197,7 +196,7 @@ export class PrivateCircuitPublicInputs { reader.readObject(PublicCallRequest), reader.readArray(MAX_L2_TO_L1_MSGS_PER_CALL, L2ToL1Message), reader.readArray(MAX_PRIVATE_LOGS_PER_CALL, PrivateLogData), - reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_CALL, LogHash), + reader.readArray(MAX_CONTRACT_CLASS_LOGS_PER_CALL, ContractClassLogData), reader.readField(), reader.readField(), reader.readObject(BlockHeader), @@ -227,7 +226,7 @@ export class PrivateCircuitPublicInputs { PublicCallRequest.empty(), makeTuple(MAX_L2_TO_L1_MSGS_PER_CALL, L2ToL1Message.empty), makeTuple(MAX_PRIVATE_LOGS_PER_CALL, PrivateLogData.empty), - makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_CALL, LogHash.empty), + makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_CALL, ContractClassLogData.empty), Fr.ZERO, Fr.ZERO, BlockHeader.empty(), @@ -253,7 +252,7 @@ export class PrivateCircuitPublicInputs { this.publicTeardownCallRequest.isEmpty() && isEmptyArray(this.l2ToL1Msgs) && isEmptyArray(this.privateLogs) && - isEmptyArray(this.contractClassLogsHashes) && + isEmptyArray(this.contractClassLogs) && this.startSideEffectCounter.isZero() && this.endSideEffectCounter.isZero() && this.historicalHeader.isEmpty() && @@ -284,7 +283,7 @@ export class PrivateCircuitPublicInputs { fields.publicTeardownCallRequest, fields.l2ToL1Msgs, fields.privateLogs, - fields.contractClassLogsHashes, + fields.contractClassLogs, fields.startSideEffectCounter, fields.endSideEffectCounter, fields.historicalHeader, diff --git a/yarn-project/circuits.js/src/tests/factories.ts b/yarn-project/circuits.js/src/tests/factories.ts index bceafef8ddab..076791e8b1e9 100644 --- a/yarn-project/circuits.js/src/tests/factories.ts +++ b/yarn-project/circuits.js/src/tests/factories.ts @@ -25,6 +25,7 @@ import { AvmExecutionHints, BLOBS_PER_BLOCK, BaseParityInputs, + CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, CallContext, CombinedConstantData, ContractStorageRead, @@ -39,7 +40,6 @@ import { KeyValidationRequestAndGenerator, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, L2ToL1Message, - LogHash, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_CALL, MAX_ENQUEUED_CALLS_PER_TX, @@ -93,7 +93,6 @@ import { RollupTypes, RootParityInput, RootParityInputs, - ScopedLogHash, StateReference, TUBE_PROOF_LENGTH, TxContext, @@ -126,6 +125,8 @@ import { AvmNullifierWriteTreeHint, AvmPublicDataReadTreeHint, AvmPublicDataWriteTreeHint, + ContractClassLog, + ContractClassLogData, CountedPublicCallRequest, PrivateLog, PrivateLogData, @@ -135,6 +136,7 @@ import { PrivateToPublicKernelCircuitPublicInputs, PublicDataWrite, PublicLog, + ScopedContractClassLogData, ScopedL2ToL1Message, TreeSnapshots, TxConstantData, @@ -174,14 +176,6 @@ import { AppendOnlyTreeSnapshot } from '../structs/trees/append_only_tree_snapsh * @param seed - The seed to use for generating the object. * @returns A side effect object. */ -function makeLogHash(seed: number) { - return new LogHash(fr(seed), seed + 1, fr(seed + 2)); -} - -function makeScopedLogHash(seed: number) { - return new ScopedLogHash(makeLogHash(seed), makeAztecAddress(seed + 3)); -} - function makeNoteHash(seed: number) { return new NoteHash(fr(seed), seed + 1); } @@ -202,6 +196,20 @@ function makePublicLog(seed: number) { return new PublicLog(makeAztecAddress(seed), makeTuple(PUBLIC_LOG_DATA_SIZE_IN_FIELDS, fr, seed + 1)); } +function makeContractClassLog(seed: number) { + // The '* 1' removes the 'Type instantiation is excessively deep and possibly infinite. ts(2589)' err + return new ContractClassLog(makeTuple(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS * 1, fr, seed)); +} + +function makeContractClassLogData(seed: number) { + const log = makeContractClassLog(seed + 0x100); + return new ContractClassLogData(log, seed, log.getEmittedLength()); +} + +function makeScopedContractClassLogData(seed: number) { + return new ScopedContractClassLogData(makeContractClassLogData(seed + 0x100), makeAztecAddress(seed + 0x200)); +} + /** * Creates an arbitrary tx context with the given seed. * @param seed - The seed to use for generating the tx context. @@ -320,8 +328,12 @@ export function makePrivateToRollupAccumulatedData(seed = 1, full = false): Priv tupleGenerator(MAX_NULLIFIERS_PER_TX, fr, seed + 0x200, Fr.zero), tupleGenerator(MAX_L2_TO_L1_MSGS_PER_TX, makeScopedL2ToL1Message, seed + 0x600, ScopedL2ToL1Message.empty), tupleGenerator(MAX_PRIVATE_LOGS_PER_TX, makePrivateLog, seed + 0x700, PrivateLog.empty), - tupleGenerator(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeScopedLogHash, seed + 0xa00, ScopedLogHash.empty), // contract class logs - fr(seed + 0xe00), // contract_class_log_preimages_length + tupleGenerator( + MAX_CONTRACT_CLASS_LOGS_PER_TX, + makeScopedContractClassLogData, + seed + 0xa00, + ScopedContractClassLogData.empty, + ), ); } @@ -331,7 +343,7 @@ export function makePrivateToPublicAccumulatedData(seed = 1) { makeTuple(MAX_NULLIFIERS_PER_TX, fr, seed + 0x100), makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, makeScopedL2ToL1Message, seed + 0x200), makeTuple(MAX_PRIVATE_LOGS_PER_TX, makePrivateLog, seed + 0x700), - makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeScopedLogHash, seed + 0x900), + makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeScopedContractClassLogData, seed + 0x900), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x500), ); } @@ -573,7 +585,7 @@ export function makePrivateCircuitPublicInputs(seed = 0): PrivateCircuitPublicIn publicTeardownCallRequest: makePublicCallRequest(seed + 0x800), l2ToL1Msgs: makeTuple(MAX_L2_TO_L1_MSGS_PER_CALL, makeL2ToL1Message, seed + 0x800), privateLogs: makeTuple(MAX_PRIVATE_LOGS_PER_CALL, makePrivateLogData, seed + 0x875), - contractClassLogsHashes: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeLogHash, seed + 0xa00), + contractClassLogs: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogData, seed + 0xa00), startSideEffectCounter: fr(seed + 0x849), endSideEffectCounter: fr(seed + 0x850), historicalHeader: makeHeader(seed + 0xd00, undefined), diff --git a/yarn-project/end-to-end/src/composed/integration_l1_publisher.test.ts b/yarn-project/end-to-end/src/composed/integration_l1_publisher.test.ts index 60df5bd7770b..8613be0f9842 100644 --- a/yarn-project/end-to-end/src/composed/integration_l1_publisher.test.ts +++ b/yarn-project/end-to-end/src/composed/integration_l1_publisher.test.ts @@ -498,8 +498,6 @@ describe('L1Publisher integration', () => { txHashes: [], }, [], - // TODO(#9101): Extract blobs from beacon chain => calldata will only contain what's needed to verify blob: - `0x${block.body.toBuffer().toString('hex')}`, Blob.getEthBlobEvaluationInputs(blobs), ], }); diff --git a/yarn-project/end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts b/yarn-project/end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts index 3e208137b638..7ba95ad89471 100644 --- a/yarn-project/end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts +++ b/yarn-project/end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts @@ -114,7 +114,7 @@ describe('e2e_deploy_contract contract class registration', () => { const tx = await (await broadcastPrivateFunction(wallet, artifact, selector)).send().wait(); const logs = await pxe.getContractClassLogs({ txHash: tx.txHash }); - const logData = logs.logs[0].log.data; + const logData = logs.logs[0].log.toBuffer(); writeTestData('yarn-project/protocol-contracts/fixtures/PrivateFunctionBroadcastedEventData.hex', logData); const fetchedClass = await aztecNode.getContractClass(contractClass.id); @@ -128,7 +128,7 @@ describe('e2e_deploy_contract contract class registration', () => { const selector = await FunctionSelector.fromNameAndParameters(functionArtifact); const tx = await (await broadcastUnconstrainedFunction(wallet, artifact, selector)).send().wait(); const logs = await pxe.getContractClassLogs({ txHash: tx.txHash }); - const logData = logs.logs[0].log.data; + const logData = logs.logs[0].log.toBuffer(); writeTestData('yarn-project/protocol-contracts/fixtures/UnconstrainedFunctionBroadcastedEventData.hex', logData); const fetchedClass = await aztecNode.getContractClass(contractClass.id); diff --git a/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts b/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts index c28c65d50bc4..ad254f33b5a4 100644 --- a/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts +++ b/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts @@ -7,7 +7,6 @@ import { type KeyValidationHint, KeyValidationRequest, KeyValidationRequestAndGenerator, - LogHash, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_KEY_VALIDATION_REQUESTS_PER_TX, @@ -45,7 +44,6 @@ import { type ReadRequestStatus, RollupValidationRequests, ScopedKeyValidationRequestAndGenerator, - ScopedLogHash, ScopedNoteHash, ScopedNullifier, ScopedPrivateLogData, @@ -66,7 +64,6 @@ import type { KeyValidationHint as KeyValidationHintNoir, KeyValidationRequestAndGenerator as KeyValidationRequestAndGeneratorNoir, KeyValidationRequest as KeyValidationRequestsNoir, - LogHash as LogHashNoir, NoteHashLeafPreimage as NoteHashLeafPreimageNoir, NoteHash as NoteHashNoir, NoteHashReadRequestHints as NoteHashReadRequestHintsNoir, @@ -93,10 +90,9 @@ import type { ReadRequestStatus as ReadRequestStatusNoir, RollupValidationRequests as RollupValidationRequestsNoir, ScopedKeyValidationRequestAndGenerator as ScopedKeyValidationRequestAndGeneratorNoir, - ScopedLogHash as ScopedLogHashNoir, + Scoped as ScopedNoir, ScopedNoteHash as ScopedNoteHashNoir, ScopedNullifier as ScopedNullifierNoir, - Scoped as ScopedPrivateLogDataNoir, ScopedReadRequest as ScopedReadRequestNoir, TransientDataIndexHint as TransientDataIndexHintNoir, TxConstantData as TxConstantDataNoir, @@ -105,6 +101,7 @@ import type { import { mapAztecAddressFromNoir, mapAztecAddressToNoir, + mapContractClassLogDataToNoir, mapFieldFromNoir, mapFieldToNoir, mapFunctionSelectorFromNoir, @@ -131,6 +128,8 @@ import { mapPublicCallRequestFromNoir, mapPublicCallRequestToNoir, mapPublicDataTreePreimageToNoir, + mapScopedContractClassLogDataFromNoir, + mapScopedContractClassLogDataToNoir, mapScopedL2ToL1MessageFromNoir, mapScopedL2ToL1MessageToNoir, mapTupleFromNoir, @@ -239,70 +238,20 @@ function mapPrivateLogDataFromNoir(data: PrivateLogDataNoir) { ); } -function mapScopedPrivateLogDataToNoir(data: ScopedPrivateLogData): ScopedPrivateLogDataNoir { +function mapScopedPrivateLogDataToNoir(data: ScopedPrivateLogData): ScopedNoir { return { inner: mapPrivateLogDataToNoir(data.inner), contract_address: mapAztecAddressToNoir(data.contractAddress), }; } -function mapScopedPrivateLogDataFromNoir(data: ScopedPrivateLogDataNoir) { +function mapScopedPrivateLogDataFromNoir(data: ScopedNoir) { return new ScopedPrivateLogData( mapPrivateLogDataFromNoir(data.inner), mapAztecAddressFromNoir(data.contract_address), ); } -/** - * Maps a LogHash to a noir LogHash. - * @param logHash - The LogHash. - * @returns The noir log hash. - */ -function mapLogHashToNoir(logHash: LogHash): LogHashNoir { - return { - value: mapFieldToNoir(logHash.value), - counter: mapNumberToNoir(logHash.counter), - length: mapFieldToNoir(logHash.length), - }; -} - -/** - * Maps a noir LogHash to a LogHash. - * @param logHash - The noir LogHash. - * @returns The TS log hash. - */ -function mapLogHashFromNoir(logHash: LogHashNoir): LogHash { - return new LogHash( - mapFieldFromNoir(logHash.value), - mapNumberFromNoir(logHash.counter), - mapFieldFromNoir(logHash.length), - ); -} - -/** - * Maps a ts ScopedLogHash to a noir ScopedLogHash. - * @param logHash - The ts LogHash. - * @returns The noir log hash. - */ -function mapScopedLogHashToNoir(scopedLogHash: ScopedLogHash): ScopedLogHashNoir { - return { - log_hash: mapLogHashToNoir(scopedLogHash.logHash), - contract_address: mapAztecAddressToNoir(scopedLogHash.contractAddress), - }; -} - -/** - * Maps a noir ScopedLogHash to a ts ScopedLogHash. - * @param logHash - The noir LogHash. - * @returns The TS log hash. - */ -function mapScopedLogHashFromNoir(scopedLogHash: ScopedLogHashNoir): ScopedLogHash { - return new ScopedLogHash( - mapLogHashFromNoir(scopedLogHash.log_hash), - mapAztecAddressFromNoir(scopedLogHash.contract_address), - ); -} - /** * Maps a noir ReadRequest to ReadRequest. * @param readRequest - The noir ReadRequest. @@ -517,9 +466,9 @@ export function mapPrivateAccumulatedDataFromNoir( mapTupleFromNoir(privateAccumulatedData.l2_to_l1_msgs, MAX_L2_TO_L1_MSGS_PER_TX, mapScopedL2ToL1MessageFromNoir), mapTupleFromNoir(privateAccumulatedData.private_logs, MAX_PRIVATE_LOGS_PER_TX, mapScopedPrivateLogDataFromNoir), mapTupleFromNoir( - privateAccumulatedData.contract_class_logs_hashes, + privateAccumulatedData.contract_class_logs, MAX_CONTRACT_CLASS_LOGS_PER_TX, - mapScopedLogHashFromNoir, + mapScopedContractClassLogDataFromNoir, ), mapTupleFromNoir( privateAccumulatedData.public_call_requests, @@ -540,7 +489,7 @@ export function mapPrivateAccumulatedDataToNoir(data: PrivateAccumulatedData): P nullifiers: mapTuple(data.nullifiers, mapScopedNullifierToNoir), l2_to_l1_msgs: mapTuple(data.l2ToL1Msgs, mapScopedL2ToL1MessageToNoir), private_logs: mapTuple(data.privateLogs, mapScopedPrivateLogDataToNoir), - contract_class_logs_hashes: mapTuple(data.contractClassLogsHashes, mapScopedLogHashToNoir), + contract_class_logs: mapTuple(data.contractClassLogs, mapScopedContractClassLogDataToNoir), public_call_requests: mapTuple(data.publicCallRequests, mapCountedPublicCallRequestToNoir), private_call_stack: mapTuple(data.privateCallStack, mapPrivateCallRequestToNoir), }; @@ -572,7 +521,7 @@ export function mapPrivateCircuitPublicInputsToNoir( public_teardown_call_request: mapPublicCallRequestToNoir(privateCircuitPublicInputs.publicTeardownCallRequest), l2_to_l1_msgs: mapTuple(privateCircuitPublicInputs.l2ToL1Msgs, mapL2ToL1MessageToNoir), private_logs: mapTuple(privateCircuitPublicInputs.privateLogs, mapPrivateLogDataToNoir), - contract_class_logs_hashes: mapTuple(privateCircuitPublicInputs.contractClassLogsHashes, mapLogHashToNoir), + contract_class_logs: mapTuple(privateCircuitPublicInputs.contractClassLogs, mapContractClassLogDataToNoir), start_side_effect_counter: mapFieldToNoir(privateCircuitPublicInputs.startSideEffectCounter), end_side_effect_counter: mapFieldToNoir(privateCircuitPublicInputs.endSideEffectCounter), historical_header: mapHeaderToNoir(privateCircuitPublicInputs.historicalHeader), @@ -739,7 +688,7 @@ export function mapPrivateToPublicAccumulatedDataFromNoir(data: PrivateToPublicA mapTupleFromNoir(data.nullifiers, MAX_NULLIFIERS_PER_TX, mapFieldFromNoir), mapTupleFromNoir(data.l2_to_l1_msgs, MAX_L2_TO_L1_MSGS_PER_TX, mapScopedL2ToL1MessageFromNoir), mapTupleFromNoir(data.private_logs, MAX_PRIVATE_LOGS_PER_TX, mapPrivateLogFromNoir), - mapTupleFromNoir(data.contract_class_logs_hashes, MAX_CONTRACT_CLASS_LOGS_PER_TX, mapScopedLogHashFromNoir), + mapTupleFromNoir(data.contract_class_logs, MAX_CONTRACT_CLASS_LOGS_PER_TX, mapScopedContractClassLogDataFromNoir), mapTupleFromNoir(data.public_call_requests, MAX_ENQUEUED_CALLS_PER_TX, mapPublicCallRequestFromNoir), ); } diff --git a/yarn-project/noir-protocol-circuits-types/src/conversion/common.ts b/yarn-project/noir-protocol-circuits-types/src/conversion/common.ts index ce24f4d31075..7a64d77cabdc 100644 --- a/yarn-project/noir-protocol-circuits-types/src/conversion/common.ts +++ b/yarn-project/noir-protocol-circuits-types/src/conversion/common.ts @@ -2,7 +2,10 @@ import { AppendOnlyTreeSnapshot, AztecAddress, BlockHeader, + CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, ContentCommitment, + ContractClassLog, + ContractClassLogData, EthAddress, Fr, FunctionSelector, @@ -12,7 +15,6 @@ import { GlobalVariables, GrumpkinScalar, L2ToL1Message, - LogHash, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, @@ -33,8 +35,8 @@ import { type PublicDataTreeLeafPreimage, type PublicDataWrite, PublicLog, + ScopedContractClassLogData, ScopedL2ToL1Message, - ScopedLogHash, StateReference, TxContext, type VerificationKeyAsFields, @@ -46,6 +48,7 @@ import type { AppendOnlyTreeSnapshot as AppendOnlyTreeSnapshotNoir, BlockHeader as BlockHeaderNoir, ContentCommitment as ContentCommitmentNoir, + ContractClassLogData as ContractClassLogDataNoir, Field, FixedLengthArray, FunctionSelector as FunctionSelectorNoir, @@ -55,7 +58,6 @@ import type { GlobalVariables as GlobalVariablesNoir, EmbeddedCurveScalar as GrumpkinScalarNoir, L2ToL1Message as L2ToL1MessageNoir, - LogHash as LogHashNoir, Log as LogNoir, MaxBlockNumber as MaxBlockNumberNoir, MembershipWitness as MembershipWitnessNoir, @@ -73,7 +75,7 @@ import type { PublicDataWrite as PublicDataWriteNoir, PublicLog as PublicLogNoir, ScopedL2ToL1Message as ScopedL2ToL1MessageNoir, - ScopedLogHash as ScopedLogHashNoir, + Scoped as ScopedNoir, StateReference as StateReferenceNoir, TxContext as TxContextNoir, VerificationKey as VerificationKeyNoir, @@ -272,6 +274,52 @@ export function mapPublicLogFromNoir(log: PublicLogNoir) { ); } +export function mapContractClassLogToNoir(log: ContractClassLog): LogNoir { + return { + // @ts-expect-error - below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)' + fields: Array.from({ length: CONTRACT_CLASS_LOG_SIZE_IN_FIELDS }, (_, idx) => + mapFieldToNoir(log.fields[idx]), + ) as Tuple, + }; +} + +export function mapContractClassLogFromNoir(log: LogNoir) { + // @ts-expect-error - below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)' + return new ContractClassLog(mapTupleFromNoir(log.fields, log.fields.length, mapFieldFromNoir)); +} + +export function mapContractClassLogDataToNoir(data: ContractClassLogData): ContractClassLogDataNoir { + return { + log: mapContractClassLogToNoir(data.log), + counter: mapNumberToNoir(data.counter), + log_size: mapNumberToNoir(data.log.getEmittedLength()), + }; +} + +export function mapContractClassLogDataFromNoir(data: ContractClassLogDataNoir) { + return new ContractClassLogData( + mapContractClassLogFromNoir(data.log), + mapNumberFromNoir(data.counter), + mapNumberFromNoir(data.log_size), + ); +} + +export function mapScopedContractClassLogDataToNoir( + data: ScopedContractClassLogData, +): ScopedNoir { + return { + inner: mapContractClassLogDataToNoir(data.inner), + contract_address: mapAztecAddressToNoir(data.contractAddress), + }; +} + +export function mapScopedContractClassLogDataFromNoir(data: ScopedNoir) { + return new ScopedContractClassLogData( + mapContractClassLogDataFromNoir(data.inner), + mapAztecAddressFromNoir(data.contract_address), + ); +} + /** * Maps an array from noir types to a tuple of parsed types. * @param noirArray - The noir array. @@ -642,56 +690,6 @@ export function mapMembershipWitnessToNoir(witness: Membership }; } -/** - * Maps a LogHash to a noir LogHash. - * @param logHash - The LogHash. - * @returns The noir log hash. - */ -function mapLogHashToNoir(logHash: LogHash): LogHashNoir { - return { - value: mapFieldToNoir(logHash.value), - counter: mapNumberToNoir(logHash.counter), - length: mapFieldToNoir(logHash.length), - }; -} - -/** - * Maps a noir LogHash to a LogHash. - * @param logHash - The noir LogHash. - * @returns The TS log hash. - */ -function mapLogHashFromNoir(logHash: LogHashNoir): LogHash { - return new LogHash( - mapFieldFromNoir(logHash.value), - mapNumberFromNoir(logHash.counter), - mapFieldFromNoir(logHash.length), - ); -} - -/** - * Maps a ts ScopedLogHash to a noir ScopedLogHash. - * @param logHash - The ts LogHash. - * @returns The noir log hash. - */ -export function mapScopedLogHashToNoir(scopedLogHash: ScopedLogHash): ScopedLogHashNoir { - return { - log_hash: mapLogHashToNoir(scopedLogHash.logHash), - contract_address: mapAztecAddressToNoir(scopedLogHash.contractAddress), - }; -} - -/** - * Maps a noir ScopedLogHash to a ts ScopedLogHash. - * @param logHash - The noir LogHash. - * @returns The TS log hash. - */ -function mapScopedLogHashFromNoir(scopedLogHash: ScopedLogHashNoir): ScopedLogHash { - return new ScopedLogHash( - mapLogHashFromNoir(scopedLogHash.log_hash), - mapAztecAddressFromNoir(scopedLogHash.contract_address), - ); -} - export function mapPublicDataWriteToNoir(write: PublicDataWrite): PublicDataWriteNoir { return { leaf_slot: mapFieldToNoir(write.leafSlot), @@ -712,11 +710,10 @@ export function mapPrivateToRollupAccumulatedDataToNoir( nullifiers: mapTuple(privateToRollupAccumulatedData.nullifiers, mapFieldToNoir), l2_to_l1_msgs: mapTuple(privateToRollupAccumulatedData.l2ToL1Msgs, mapScopedL2ToL1MessageToNoir), private_logs: mapTuple(privateToRollupAccumulatedData.privateLogs, mapPrivateLogToNoir), - contract_class_logs_hashes: mapTuple( - privateToRollupAccumulatedData.contractClassLogsHashes, - mapScopedLogHashToNoir, + contract_class_logs: mapTuple( + privateToRollupAccumulatedData.contractClassLogs, + mapScopedContractClassLogDataToNoir, ), - contract_class_log_preimages_length: mapFieldToNoir(privateToRollupAccumulatedData.contractClassLogPreimagesLength), }; } @@ -739,11 +736,10 @@ export function mapPrivateToRollupAccumulatedDataFromNoir( mapTupleFromNoir(privateToRollupAccumulatedData.private_logs, MAX_PRIVATE_LOGS_PER_TX, mapPrivateLogFromNoir), mapTupleFromNoir( - privateToRollupAccumulatedData.contract_class_logs_hashes, + privateToRollupAccumulatedData.contract_class_logs, MAX_CONTRACT_CLASS_LOGS_PER_TX, - mapScopedLogHashFromNoir, + mapScopedContractClassLogDataFromNoir, ), - mapFieldFromNoir(privateToRollupAccumulatedData.contract_class_log_preimages_length), ); } diff --git a/yarn-project/noir-protocol-circuits-types/src/conversion/server.ts b/yarn-project/noir-protocol-circuits-types/src/conversion/server.ts index 8ccdbd971d13..dbf669b471da 100644 --- a/yarn-project/noir-protocol-circuits-types/src/conversion/server.ts +++ b/yarn-project/noir-protocol-circuits-types/src/conversion/server.ts @@ -136,8 +136,8 @@ import { mapPublicDataTreePreimageToNoir, mapPublicDataWriteToNoir, mapPublicLogToNoir, + mapScopedContractClassLogDataToNoir, mapScopedL2ToL1MessageToNoir, - mapScopedLogHashToNoir, mapTupleFromNoir, mapTxContextFromNoir, mapTxContextToNoir, @@ -463,7 +463,7 @@ export function mapPrivateToPublicAccumulatedDataToNoir( nullifiers: mapTuple(data.nullifiers, mapFieldToNoir), l2_to_l1_msgs: mapTuple(data.l2ToL1Msgs, mapScopedL2ToL1MessageToNoir), private_logs: mapTuple(data.privateLogs, mapPrivateLogToNoir), - contract_class_logs_hashes: mapTuple(data.contractClassLogsHashes, mapScopedLogHashToNoir), + contract_class_logs: mapTuple(data.contractClassLogs, mapScopedContractClassLogDataToNoir), public_call_requests: mapTuple(data.publicCallRequests, mapPublicCallRequestToNoir), }; } diff --git a/yarn-project/p2p/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts b/yarn-project/p2p/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts index ed42df5086b7..0007dd897833 100644 --- a/yarn-project/p2p/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +++ b/yarn-project/p2p/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts @@ -295,7 +295,6 @@ export class AztecKVTxPool implements TxPool { const archivedTx: Tx = new Tx( tx.data, ClientIvcProof.empty(), - tx.contractClassLogs, tx.enqueuedPublicFunctionCalls, tx.publicTeardownFunctionCall, ); diff --git a/yarn-project/protocol-contracts/fixtures/ContractClassRegisteredEventData.hex b/yarn-project/protocol-contracts/fixtures/ContractClassRegisteredEventData.hex index e6d5bc08ad41..5dbace9d23ef 100644 --- a/yarn-project/protocol-contracts/fixtures/ContractClassRegisteredEventData.hex +++ b/yarn-project/protocol-contracts/fixtures/ContractClassRegisteredEventData.hex @@ -1 +1 @@ -000000006999d1e02b08a447a463563453cb36919c9dd7150336fc7c4d2b52f81c9a43d08a1af21c35e4201262a49497a488b0686209370a70f2434af643b4f70000000000000000000000000000000000000000000000000000000000000001072dce903b1a299d6820eeed695480fe9ec46658b1101885816aed6dd86037f015b6f9aad3bac28ee9abb5d28ce58c47a78097c271106637d1d27723c75f91a100000000000000000000000000000000000000000000000000000000000069d200000000032b1eb6a600000021a91f8b08000000000000ffed9d679454c795c7005fcf107b1a248132481a320c33d03d8924a001011239e73c33c4818161c839008aa06c5992654956b0244b969cb32de79c6dd972926dd972d0d9fdb0bb5ff600ecd9fdb275dfabebfe4fcda37b1e5435d550ef9c7bbaeabe57757fb75e55bd005455fd9ee779e55eb0150bb9c36bbbc5e46f5afe262f6d4b69cc2b6992335600209c4505c2595c209c1d0a84b3638170762a10cece05c2d9a54038bb6ae42400b622aff5a69b376ea05c753396788571ee1305c2d9ad4038bb1708e73505c200796d81705e57209c3d0a84b36781705e5f209c371408e78d05c279538170de005c209cb71408e7ad05c2d9ab40387b1708e76d05c2797b8170dea191b33f700096cadf3ef2b7affced277ff9d801f277a0fc1d247f074b5f3bc8f81021654200867ac1fb57dac7055321649890e152472f4c2b855409a9165223a456c808210023858c12325ac81821770a192b649c90f1b22c26089928649290bb844c16320045c85421770bb947c83421d385cc103253c82c21b385cc113257c83c21f385002c10b250c822218b852c11b254c83221cb85ac90be944a5f560a592564b590003542d60a5927a44e48bd900621eb856c10b251c826219b856c11d22864ab90006d429a846c17b24348b3909d425a84ec12b25bc81e217b85ec13b25fc80121000795323f24e4b09023428e2a9cc7841c177242c84921a7849c1672af90334200ce0a3927e4bc90fb84dc2fe401210f0a7948c8c3421e11f23e218f0a79bf9000c7843c2ee409211f10f2a4900f0a794ac8d3429e11f22121cf7aadcfff7342009e17f282900f0b7951c84b425e16f21121af087955c84785bc26e475211f1300f271219f10f249219f12f269219f11f259219f13f279215f10f245215f12f20065215f11f28690af0af99a90af0bf986906f0af996906f0bf98e90ef0af99e0090ef0bf981901f0af991901f0bf989909f0af999909f4b5ff85dcd2f84fc5200d1bd29e45732fc6bf9fb96fcfd8d72ec6f85fc4e867f2f7fff207fdf96bf7f0094bf7f92bf7f96bfefc8dfbfc8dfbfcadf77e5efdfe4efdfe5ef3fe4ef3fe500ef7b42569604e1ce5e664bcbdfe4a56cd50da3e8fd2d57ce52aff5168732e0006348572c5531d071fd2e025d47a92b065d27ce0e74ec5747d07591ba4ea0eb002a759d411797ba2ea093c5e575953aca3f217569f99bbc94ad3ab996f2eca600334ff9eeafbbcc2b01fe5c2375dd4077add47507dd7552770de87a48ddb5a000eb2975d781ee7aa9eb01ba1ba4ae27e86e94baeb417793d4dd00ba9ba5ee4600d0dd22753781ee56a9bb1974bda4ee16d0f596ba5b41779bd4f502dded52d7001b74fc3df136d0954addeda0e3ebea1d524775f50d0fd2487d11e8fa485d3100e8fa4a5d07d0f593918ea0eb0f76583700ea2ceb064a5d17d00d92baaea01b000cbe701ec365382d7f9397b255578ea23c933af314b9529e957af3f4dfd557007999f24d838d24944fb55ebb29b41b93c236585f0ce1d15e66ab8630f7619500104f851c87e1e14a9a04ec4f19f6b91238d210675b1d80cf40bdacd75f2fab00925773bdbcdbcb6c58c7f89a7725d5cbb1c0a0b75ed618a897955775bd5ce4006536ac637c8f7425d5cbe9c0a0b75e8ea877d7f1ac5be47a59ef6536ac637c004f7e25d5cba5c0a0b75e8e4cb9fe32eb16b95e367b990deb183f035e49f572000330e8ad976b53eefe32eb16b95e1ef5321bd6317ee77025d5cb5dc0a0b75e00d61ba897c9caabb95e3ee06536ac63fc8eeb4aaa9727804173bdac72f532eb0016b95e3ee56536ac63fc4ef54aaa970fcb30bdc7fcb57ca7d90b746f495d6f00d0fd46ea6e037ecd757aa4abd359b7c875fa752fb361fde477f857529d7e5e0086a9aefe5ef9de46ba3f485d1fd0bd2d757d41f747a9eb07ba3f495d7fd0fd0059ea0680ee1da91b08babf48dd20d0fd55ea0683ee5da91b02babf495d19e800fe2e754341f70fa92b07dd3fa5ae0274ef49dd30a9a3773afccde50752d7190018d2f23779699bffdd8d7de52da6c4d3101e628e25990016b43354af9d2af200b9cc6bbfcf4381a55cb3cf71c8bf3d2ce5c052a197c5bf9f1ea6374fff9c960029e518073b65e08fd66b96ec9f8679adcb91e36c2b013a6ca3c343f8745fff00626087f3e57812f8585761aeacfc7ad857291bea7ede029b9adba17fade67600ce73e998816d15c3313d4b325c3c16250efbf9fa5102e907838ecf2ff6d9790038cfa9f69c67e2e3f33b3cbf7c95ede553dbcee56ab364b7ca805db50cb80e005519b69b52ec562876e3701e78cb768dc07b3ecdf7d72903f7917e3f5023f300e27b76b6817d5ead81b2af81f28c810dd61743f87fbdcc560b61ee579899da004a55c871184e2a6912b0bfcab0cff8ec908638dba2fef53f8041739d6ff58c00c6f972bc02f4d521e55505e5c5fb87808efb7bbcbe972979c4211fec574d3e0013aa7ee279675d0af8aa43f86af4f25566ab0b35c0c7ba4ac36595eb59f26a00b4abbbed61fe382e09df51f0fe778a32c7f5886598343f7754e2f3006fd9ae006f784dd07b4f5ae9df0757446031f86c983271cf4d799669ce93f218e2b53d003fcc9e80fdd89fe97e9711f35a3f4ba7218e7c8ed5b13a56c7ea581dab637500ac8ed5b13a56c7ea581dab6375ac8ed5b13a56c75a28ac388605c794f171c3002ce0631d8e5fd2fd6edb5f6b40e6c579d3b78b17e0db85de77f495feb74c2e0073fa765d0a0cb8ae3b1ff3d95886eb65192e81fd7cae2e74fe34bfbbcf7afe00d8168e9dc1ef1d9acf9fcf52aeb05cb9762bebf4b7c7ca64372f581783ebd30010c50f1cfb3440d1519d7cb728e3afeeef5951bfad615fa199c51f9758116200476ffb0afa072e7b2ada522fd33f18b86ea4384076792c04f54b7dbcb6fd7200311cf3757922ba7be6ae1317fade3d04ca61b05ebbadc6187ab2fcf99b378e00f156c71dabf3084abdb6630a713cfff7a15fdf026d48735fe57f2bc7be8a5900714b4318fb2fdd7d4dd4b1cb789e755fc74c8c4737511f298faa90f383f74a00bc7f3094978971874394f3c471e473ac8ed5b13a56c7ea581dab6375ac8ed500b13a56c7ea581dab6375ac8ed5b13ad642612516f5db1eae21506e015f1ec60015f8efee79cd1ccedb5fdf14be5d98fc16c6df54fa2bbe16c3318f1765b85600ca7089d7762cc185ce9fe677f759cf1fae3351a694aba9ef69650acb956b3700f856aeb73d66be95737daa52fce0738adf8a5987dff9707c048edf2853749700eb7c609bc1311d1cc6f9b4bacb18e798f3da0efcfd9b6de19ce35db24cf93b00b4de79d7c17ac8bafb75ca83e7cb77f0dad6275c43623ff469076538acffa200fde743f6f396ed3b2bce1f1fa1d757ff7c8e9479f1f91c116277945ebb29b400cb6b75b00dd61743f85c51a63c466582ff2a5f66a676501b721c868728691200b0bfd6b0cf2380230d71b645f5e408d4a9f370fdd67dfd437fb15cfa41b9f0007ebc7731711f55031ca55edb3e05c7443227aeab817df2e5586305d7d5c0710028ec07f627387ef16a1d9ff4345c17c2c6f470dafec0aca9feb762ae5298d5007b051c13f4bc722d33713f7aa13155069fb35a9d3b2e7f751d115c63878f5500ef054abdb6cf3f782ff02af46b6fe7b8ff1face84cf53be8771ae26c0befab00d0efc117f01bd73433b9fe504785836d617dfd8cd2c6d435b998390569f99800cf435acf6bdd3ff3ba4b783f5aa51ca7ff5ea532f45e85fb8711e0031ff38600d25e476ae631703fe69f0abc17280bf18ff77f13dad3b7e1de92cf018e997f0033643f6fd9ee3db9ccc8d7317a7df5cfe79d322f3e9f6342ec8ed56b37857600f9de936db0be18c2bf847bcfb199e0bfca9799a91d8c0e390ec3354a9a04ec001f6dd8e731c0918638dba27af23da8536fc2bda7ee7b2af417cba53f940bef000f7bd7c7c7537de6f680d70added129f4f385f8e677b8ec06b9dfefbbdb6f3003d4abdb6efe0f0dd20f6094bcd3d5b24713e02be6379d7e0f30c954537cf6b00758eba290c57a35dddefa8f0fe8cb7f68c13c7f51c8b804f779b88fa7ea50c00f8f05985f974cf4fc27789ede1c3398a38b787f94ccceb191a81af1cf8385d0047e0d3bdae79d4391315c0c7e93a019fe635d223cf8b1a067cf8ee967f75af00c91c757dc6b0b5d5bb009feef5b5719decf6f085adadde15f85206f82e66fd00e604a48b039fee359de35eeb35a873f1e1ff8c70ba12837cd9ae5bb826ade600e77d7fae15be5fc9552e78df8965441bbe0f31bd8e6e95c2c7f1b03587bb190064892b2cb9ca2f8caf3bf0695eff3885ef83dbc317b626f235c0a7fb9927ea00b337be5be674d7029fee679cb8d7fa7b402e3e7ceee174d7019fdef72d01df0088087c23818fd3f5003edddf77e260b33d7ca3808fd3f504bed106f84645e0001b0d7c9cee7ae0d3fc3ec8e71b1d810fdfa170ba1b80ef4e037c6322f0dd09007c9cee46e0d3fd8e270e36dbc33716f838dd4dc037ce00dfd8087ce3808fd300dd0c7ce30df08d8bc0371ef838dd2dc09736c0373e025f1af838ddadc037c100005f3a02df04e0637d2fe09b68806f4204be89c0c7e97a03df24037c1323f0004d023e4e87ff19799701be4911f8ee023e4e773bf04d36c0775704bec9c0c700e9ee00be2906f82647e09b027c9c0e9f6ba71ae09b12816f2af071ba01c07700b75e3efff96d6a04bebb81659a5e96ea38e4df1e9669c0728f5e969401fffc006f9bd335e74979ccf0da9e1f664fc0fee9505e333497570c6c72be1c473ec7007a75b312cb5485330ec74db5808f75f71864892b2cb465ebebc2f8f05cce3400c0372302df4ce00bab6bb3f4f2f9d7ad9911f86601cb1cad2c55fe77d959110058e600cb6cad2cc1754baf7fc135666e4859b29d04ecc7733e57b36f31b0c900f9721cf91cab6375ac8ed5b13a56c7ea581dab6375ac8ed5b13a56c7ea581d00ab6375ac8ed5b13a56c7ea581dab6375ac8ed5b13a56c7aa9f9558662a9c7100386ea6057cac9b6d9025aeb0d0966d9c48181f9ecb7906f8e646e09b077c6100756dbe01be7911f8e603dfbc10be0506f8e647e05b007cf343f816eae5f3c7004c2d88c0b71058166b6509fe176f610496c5c0b2482b4b30664aaf7fc198a900252165c97612b01fcff912cdbec5c026e7cb71e473ac8ed5b13a56c7ea581d00ab6375ac8ed5b13a56c7ea581dab6375ac8ed5b13ad642612596050a671c8e005b60011feb161964892b2cb4657bcf1ec687e772a901be2511f896025f585d005b66806f6904be65c0b734846fb95e3eff9bceb2087ccb8165a55e167ffd9600e511585602cb0abd2c2903fef9df7456859425db49c07e3ce7ab34fb16039b009c2fc791cfb15eddacc4b24ce18cc371cb2ce063dd0a832c718585b66cfd5200181f9ecbd506f85645e05b0d7c61756d8d5e3eff1ab33a02df1a6059a79525001837b02602cb3a6059ab9525b8c6e8f52fb8c6d4796dcb92ed24603f9ef33a00cdbec5c026e7cbf13a73767dffeb73f85f1fc2519f47ff91afbdacd30b88d50095ab2b5757aeae5c5db9ba7275e5eacad595ab2b5757aeae5c5db9ba7275e500eacad595ab2b5757aeed672596d50a671c8e5b6d011febd61a64892b2cb465007b771fc687f5aec1005f7d04be06e00b6b17eb0df03544e05b0f7c9c0edbc20006bd7cfe77a2f511f83600cb26ad2cc19afc1b22b06c02968d5a5982ef447a00fd0bbe936c0e294bb69380fd5827376bf62d0636395f8e23df95c85a5740ac00ae0e98617575c0b1ba3ae0585d1d70acae0e385657071cabab038ed5d501c700eaea80637575c0b1ba3ae0585d1d70acae0e385657071cabab038ef572d701006259af70c6e1b8f516f0b16ea34196b8c2425bb67122617c58efb618e0db1c00816f0bf085b58b46037c5b22f03502df9610bead06f81a23f06d053e4e876d00759b5e3e7fccd4d6087cdb8065bb01966d1158b6034b935e969401fffc3153003b42ca92ed24603fd6c91d9a7d8b814dce97e3c85728acc4b255e18cc3715b002de0635d934196b8c2425bb6f613c687e7b2d900df8e087ccdc01756d776ea00e5f3fb9fe6087c3b81659701969d115876014b8b5e969401fffcbe7077485900b29d04ecc773be5bb36f31b0c9f9721cf90a8595589a15ce381cd76c011feb005a0cb2c41516dab2b59f303e3c977b0cf0ed8ec0b707f8c2eada5e037c7b2200f0ed05be3d217cfb0cf0ed8dc0b70ff8385d1cf8f61be0db17816f3ff071ba0012837cc4d24d61e9a6b090dd037aedfad7b5fd5efbcbe500940b96116d71d8008fcc070d94d501858fe307818975dd0cb2c415965ce517c6d71df80e19e03b001881ef10f071ba6b80efb001be4311f80e031fa7bb16f88e18e03b1c81ef0800f071baeb80efa801be2311f88e021fa7eb017cc70cf01d8dc0770cf8385d4f00e03b6e80ef5804bee3c0c7e9ae07be1306f88e47e03b017c9cee06e03b698000ef4404be93c0c7e96e04be5306f84e46e03b057c9cee26e03b6d80ef5404be00d3c0c7e96e06be7b0df09d8ec0772ff071ba5b80ef8c01be7b23f09d013e4e00772bf09d35c0772602df59e0e374bd80ef9c01beb311f8ce011fa7c3e78af3007af9fcfbd37311f8ce03cbfd7a59fcf5cccf4760b91f58eed3cb9232e05f9200f27c40739e94c7835edbf3c3ec09d8ff0094d7839acb2b0636395f8e239f6300bdba5989e59cc21987e3ce59c0c7bafb8045775f403e0f947971de1d84cce9009cb1a9f95ea39afce76b5e27992f33b0ad623866423cc3b5407295c07e3e5700780f83e74ff7bd66cc6b7daf948638db2a015f4e038beefbca98d7fabe286d00995d13f7f951ee534f996349e2bd2fda31f16c18e5d9e68441167c5e423b9a009fd7fd7e6990cc8bf3a6f6bfb9b331dffc7e89cf23f74b83145f8be19801d0002f6d0be9970cb683a4dafe4ac12edbc267ce7b8145f3bb816402388a3c63e70027d5def721bc75b18865bc452ca32c62e96d114b95452c375ac4526111cbb50016b10cb288a5ab452cfd2d6229b688658a452c698b58465bc472d622966a8b00586eb3886598452c3759c432d82296eb2c62895bc4b2d522960e16b12cb3880065aa452c632c62b9dd22961a8b586eb68865b8452c3d2c621962114b89452c00fd2c62e96811cb7a8b58eeb488e50e8b586a2d62b9c52296a4452c3d2d622900b3882561114b378b583a59c4b2c02296be16b198fcd61d9565ac452ca516b1008cb088e5568b585216b1989c4f109565a8452cdd2d62e96c11cb6a8b58665a00c432ce22963e16b18cb488a5d222965e16b1945bc432c022961b2c6219681100cb3516b1c42e334bdc6b3b0e16e7299682eeb80ce3d8c863327c1274452136008a65f838e8f8db19e741cfadf34bda3214419aa3325c1cc2702284f568485a00d3658e76d210675b25c070d402966b2c62196811cb0d16b10cb088a5dc2296005e16b1545ac432d222963e16b18cb38865a6452cab2d62e96c114b778b5886005ac472bd452c298b586eb5886584452ca516b18cb588e594452c7d2d62596000114b278b58ba59c492b088a5cc22969e16b1242d62b9c522965a8b58eeb08800e54e8b58d65bc4d2d122967e16b19458c432c422961e16b10cb788e5668b58006a2c62b9dd22963116b14cb5886599452c1d2c62d96a114bdc2296eb2c6219006c11cb4d16b10cb388e5368b58aa2d62396b11cb688b58d216b14cb188a5d8002296fe16b174b5886590452cd75ac4526111cb8d16b15459c4d2db2296511600b18cb788a58b452c45796239ee65b634c44f805dcdfff9e2af83aef97f6efc003544f9ff6a780d51e6665bc570cc247961e3b11af81f39c7e4ef11381f279400e30cf8908c291c5dc02edbc2ffcbe163291dff975047998e8fe903bef331d300c1f712d00f067ff9bf9386808eff73aa0c74fcdf5d4341c7ff37560e3afe8f00b40ad0f1ffba0d031dff17dd70d0f1ffe62541c7fff597021dffd71f8fa9c300ff07c57910baff3b37e65df83f519b808fffd3733be8385c053a4e530d3afe009fd71ad035ca702de8b6c8f008d06d96e191a0e3ffd21e053afedfefd1a0db0020c36340d720c37782ae5e86c782ae4e86c7816e9d0c8f07dd5a194e836e8d000c4f01dd2a19e6f77b747e57283a3abfcb95fc9297b6f9e797ed70be1c5f0e007c2b657805e8383c1398972a3a625e628079a9c2ccf125c0c7fc4b41c7e10500c0bc58d111f32203cc8b15668e2f023ee65f0c3a0e2f03e6858a8e98e71b60005ea830737c3ef031ff42d071783530cf5374c43cd700f33c8599e373818ff900e7818ec3eb81798ea223e6d90698e728cc1c9f0d7ccc3f07741cde0accb314001d31cf30c03c4b61e6f80ce063fe59a0e3f059c37c3b14be1d0a9f29bb2b1500bb2bf36477b96277799eec2e51ec2ec993dd458add4579b23b5fb13b3f4f7600e72a76e7e6c9ee6cc5eeec3cd9bddaeaf3e5ea37aeb6fa7cb9fa8dcbd58edc0075303f76dd75303f76afb6eb607bdaef34bd76fdffce9ce1b5de624a3c0de10069c0325d731918f0cf7fdd760ff0cf50fc48c0fe23e0db3d9a7d8b814dce9700e3c85728ac71d01d041def3f00babb65783fe826cbf03ed0dd25c37b4137490086f7806ea20cef06dd0419de05ba7332bc0674e7657815e8ee93e195a0e3ff00335c013afedfc9e5a0e3ff5c5c0aba87647809e81e96e1c5a07b44861781ee007d32bc10748fcaf07cd0bd5f86e781ee31199e0bbac765780ee89e90e1d9a000fb800ccf00dd93323c1d741f94e123a07b4a865b40f7b40cef04dd3332dc0c00ba0fc9f00ed03d2bc3db41f79c0c3781ee7919de06ba1764b811741f96e12d00a07b51863783ee2519de04ba97657823e83e22c31b40f78a0c3780ee5519ae0007dd4765b80e74afc9f03ad0bd2ec36b41f731199e053afec6360d743c0e0400db2a8f9bbc1b743cb67f32e878ced75da0e379c99340c7df1927828ec7594c00001d8f4b3c073a1e3b7f1e740919be0f743ce7eb7ed0f1b7ae0740c7eb783c00083a1edbf010e8785ce2c3a0e3f1ea8f808ee731bd0f743ceff751d0f13a1900ef071d8f1d780c743ceeef71d0f178f02740c7f3843e003a9e57fb24e878ed00870f828ebfcd3f053a1e57f734e878bcf533a0e379381f025da90c3f0b3afe000ef71ce8facaf0f3a0eb27c32f808ec7037d1874bcb6c78ba0e375505e02dd0020197e1974fc9def23a0e3ef7caf80ae4c865f05dd5019fe28e8ca65f835d000f177bed741c7dff9b82d523b30f15d9b6cf11c59deb2dd97e1b7eee37a59fc00efd22780210d360681dda39acb806c1d53ec3207db4a4039f1b1d4bff0f50900ff47f3908172e17b1ffe5ecf0c6c0bbf5957cace90fb30d6d37626c487c3ca007171081f86e3d8d649c88fefbf8a200d7e97df0fe1234a1a2ad3d3ca71f89d009ced5099f27d595afe262f654b05f7eb7b819d6dee0136b6bf173876e9e49000758fef2f395faeeb788fc93a3e96aeb3fc3fb3546685f83fd37afbb2cae4a500f46527b5b204cf989afbeaa4fe3eb7ce1f12720ccae494523609d87f1ccaeb0098e6f2c2be9ff3e5f8317376fd211d4773f87f3484e3681efd3f6acc6e8dff0018712487ff474238348f73cbeaff11637647f8c3810ee7f0ff700887e6f16c0059fd3f6ccc6ecabf0e1ecae1ffa1100ecdf73859fd3f64ccee28bffd1fcce100ffc1108e8379f4ffa031bb35fef93f90c3ff03211c07f2e8ff016376d7fbfe00efcfe1fffe108efd79f47fbf31bb35fed0c77d39fcdf17c2b12f8ffeef336600b7d2f77f6f0efff78670eccda3ff7bcdd9f55f05eec9e1ff9e100eadcf633900fcdf63cc6e957fffb33b87ffbb433876e7d17fe46b2febf1cbcc6ac0aedf560077e5f07f5708878967f60bf98f7ced6535fd7e2117ab7ebb0d7ebfd292c3ff0096108e963cfadf62cc6eca9f8eb03387ff3b433876e6d1ff9dc6ecd6f89f93009a73f8df1cc2d19c47ff9b8dd9adf1a78fecc8e1ff8e108e1d79f47f8731bb00297f0ad1f61cfe6f0fe1d89e47ffb71bb35be59fffa61cfe37857098986f750021ff9b8cd9adf5fddf96c3ff6d211cdbf2e8ff366376ebfc7b95c61cfe3786007034e6d17fe46b2febb1cbccaadfee48ff1dc0961cfe6f09e1d89247ff91af00bdac072e33ab7ebbebfda99f9b73f8bf398463731efddf6cccee3affbaba290087ff9b423836e5d1ff4dc6ecaef5a7cd6dcce1ffc6108e8d79f47fa331bbb500fe7565430eff3784706cc8a3ff1b8cd91de94fe96ec8e17f430847431efd6f003066b7daf7bf3e87fff5211cf579f4bf1eeceafec61f83fc792ccc40a50c8a00e1987f57c6c284951da7a7710aa7437ca8d3ea43309e67dd057ca8031ff89800ff021f3a835e178f011ffd71053ca694c6aadc1be21fefffef78e6b8ff91e100389c8333904fe792b6fb79cb36d683cb8c7c5da5d7d724ce4de2f3b92ac4ee000abd765bcd898a49611bac2f46361e10ebb55ea381cb9799714d093c0ec3f5004a9a04ec5f63d8e755c0918638dba27af27f50a7b8cee8ef8f827abec66b5b002e03a15c783f8e7dd2dddea85cd67aadcb45ed5388e59cc249c5c47514c78900ad31c0b74ee1e3f81ae063dd09e0633fb03f990363df783c2eaec9c3636fcb00209f618a8eb2186ec04fb6c3f9721cd7e92997e161f9e5ab6c2f5f85c2472c0029cd6515079bbc65ebc353c092d4cc62c03f1fb112f8872b7e24607f29f85600a9d9b718d8e47c398e6b3de93ebf31c89faf8b7d9532288663ca643fdd5d6100c3b2e3f4b8b670a5e1b2abf05a975d4588dd1a8365c7f9723f5763d86e956200b75cb14bed16eb136dd9da6d15f0566be6a53c6bf5e6e9dfcff19a605c6fd9004639f832d240d98f80f28c810dd617437802dccf8dcc04ff75edc3b5ce6a42008ec3704a499380fd35867dae058e34c4d9165def6be11e4e739df7cf778dc200c0f172d0d78694570d9417ef1f063abe27a9045d9992471cf2c16bbfe67a9d00cae6279e77d655015f6d08df08bd7c95d9eac208e0635d35b098e8075516be00f6603fd857293faaab6f015767bd5cd5389f92b76c7d6f67f8eda4b98c681e0026cf6bac5bdbd83867d7bac64d7553766dab6bd9d4b42d06741da174682b0600c22208a39e8fc599a11d41c733433b81ae48f11a67a976815fb5c4b4561b8200e8e705b7741cefef65ba748a0f50e20395f82025fd71257e52899f56e2679400f839257e9f127f40893fa4c41f51e28f2af1c794f8134afc4925fe94127f4600893fabc45f50e22f29f15794f86b4afce34afc534afcb34afc0b4afccb4afc00ab4afc1b5eebf8b795f8f794f80f95f84f94f8cf95f86f94f81f94f81f95f8009f95f85f94f8bb324ec21befa306438d8f1a1b352e6a4cd468a8b9f3b46aea008669da34ddaad3b4689a064dd39ea93ba069cd348d99a62dd334659a964cd3009069da314d33a669c5348d98a60dd334e13b80e107f2b7d40ba601f7f582b60044ed87da0cb5136a1b7459a5db61ba1cd1ed0e5da6e9b69c2ebdf4a840cf5e007479a5cb2e5dc6e85241dd3675d37429a15b0b1afb4fcbb7d272adb43c2b2d00c74acbafd272ab692f985e3ed10ba6a3d334f5c95eb0c4ea542f98de4ed3de00a779c1b20533bc6089529a324fcb1dd03208b43c022d9b40cb29d052a0b4d400022dc1404b33d0920db494032db749cb3cd0ab2b7a4d47afb26839cb355ef000ba639d17bcbea1d735f43a9fbe7f6df0824f3bf4798b3ef1d1674efa2c4dcb0033d250021a4e41434a68580d0d2da2e15534c48c86d9d1b0481ac64a430e690038330de9a6cfc434b49fa637d0140f9ae672d40b3ef553bf43af62a8bfa1d700e5d4cfd0ab5cea5f68b945ea57687a3df527347d9efa119a1e4ffd074d7fa7007e83a6b7537f41d3d7a99fa0e9e9d43fd0f473ea17687a39f507347d9cfa01009a1efeac174cff7ede0bda3e4de77ed10bdafdcb5e301d9bdafcab5e30bd9a00da3b4d9fa6e9d2d4d63f21e4935ed0ce3f2de4335ed0c63f27e4f35ed0bebf0028e44b5ed0b6bf22e40d2f68d75f13f2752f68d3df14f22d2f68cfdf11f25d002f68cbdff782ba4aedf847427eec056df8a7427ee605edf717427e29e44d2100bf12f26b2fb835a0b6fc5b21bf13f27b2f68cb6f7b411bfe9317b4dd77bca000cdfed50bdaeadf84fc5dc83f84fc53c87b5e6629839897d9be26237d647c6d004b4bc3d6ed2da52d4da55b7735b66cdadeb8af74cfa6968da54dbb1b9ad7370036edc1c42df2f2c9eb034c686e5ebbaf74d3b6fa86bda54dbb5a4a9bd697ae006bdab5ad7e27267aaae8122c3e2713f76e9b786d7dfd85d37d5aa6e31514ee00c9cef8b98b71ec2b17936862d78b48948a5f44a27fbb9844ff7931898694b4003391f7fff9ff659b0d070200122ffb5900000023ff1f8b08000000000000ff00ed9d077c1c35f6c7b5dec44ed64ee8900638092440daae7bfaa6170204482300dd8eedf438c54e2f4eeff4bbe30a9d038eff1dd73b5c3fae72bdf7de7b2fdc00dd5f9ad1637f9627bb9e44da6812cde7f33e2bbd19e97d9f46a3d18e349ac20018638399bfc5b95ccdda6f31f99b96bfc933db521af34a9ae48c4584b32022009cf18870768a0867e78870164684b328229c5d22c2d95523a7602b606d37dd00bc0903e5aa9bb19845e3dc974484b35b4438bb4784f38288705e1811ce8b2200c2797144382f8908e7a511e1bc2c229c974784f38a8870f6880867cf8870f6008a0867ef8870f68908e79511e1bc4a23a760539f33eae6bdda40b9ea662c8d000063df0830f68b0063ff08305e1301c66b23c03820028c0323c0785d0418af008f00e30d11601c1401c6c111601c1201c6a111601c1601c66404185311602c008b00637904182b22c0581901c6aa0830564780b126028cc323c03822028c230023c0382a028ca335325ec332db18f93b56e11d277fc7cbdf09f277a2fc9d24007f274b5f3bc9f8142e53b94ce3325deea342b991cb0c2e3771b999cb2d5c660072b995cb6d5c6ee7328bcb6c2e73b8cce5328fcb1d5ce67359c0652197455c00167359c26529975a2e755c9671a9e7d2c0a591cb722e2bb8ace4b28acb6a2e006bb8ace5b28e4b1397f55c3670d9c8651397662e2d5c3673d9c2652b976d5c00b64b5f4aa52f3bb8ece4b28bcb6e2e7bb8b472d9cb651f97fd5c0e7039c8e5001097c35c8e7039cae51897e35c4e7039c9e54e2e7771b99bcb3d5ceee5721f0097fbb9bc82cb2bb9bc8acb035c5ecde5354a99bf96cbebb83cc8e52185f361002e8f707994cb635c1ee7f20497d7737992cb535c9ee6f2062ecf70f93f2e6f00e4f2262ecf72793397b770792b97b771793b9777707927977771793797f77000792f97f771793f97e7b83ccfe503acedf9ff20970f71f930978f70f928978f0071f9389717b87c82cb27b97c8acba7b97c86cb67b9bcc8e5735c3ecfe50b5c00bec8e54b5cbecce52b5cbecae56b5cbecee51b5cbec9e55b5cbecde53b5cbe00cbe57b5cbecfe5075c7ec8e5475c7ecce5275c7ecae5675c7ecee5175c7ec900e5575c7ecde5375c7ecbe577d2179aebf47b2e7f50747fe4f22719feb3fcfd008bfcfdab72ecdfb8fc5d86ff217fff297fff257fff2d7f5f92bfff91bfff9500bfff93bfd4d8c4e46f81fc8dcbdf4ef2b7b3fc2de4bf2f14fbe12296d9d2f2003779265b65b2bab367d4cf6b0c6bbb25a00ce818a18b932ba0a3fa5d00bace005217075d2165073af2ab33e8ba485d21e8ba4a5d11e81252d70574b2b8585700a913f997485d5afe26cf64ab48d68a3cbbe9cc53ce9deb2ef32a017f2e90ba006ea0bb50eaba83ee22a9bb0074174bdd85a0bb44ea2e02dda5527731e82e9300ba4b4077b9d45d0aba2ba4ee32d0f590bacb41d753eaae005d2fa9eb01bade0052d713747da4ae17e8ae94badea0bb4aeafa808ec6c9ae045da9d45d0575a400afd4a5e56ff24cb68a54a3c8b39fce3ce53ce00fb08c1f63247f01e8c64a5d001c7469a9eb04ba7132d21974e3a5ae107413a08c483751eaba806e92d4750500dd642873ca6398d672aea816792675e6c973157996e9cdd31bb32d6799f24d00838d24944f855ebb29b41b934236481f87f04896d92a204ced6a19c45301c70061789892a604f6a70cfb5c061c6988932d5135b1dc35d7cb3afdf5b23c793e00d7cb692cb3611da3fbf0b9542fc70083de7a596da05e969dd7f5722ecb6c5800c7a8df762ed5cb19c0a0b75e0eaf73f7f1ac5be87ad9c0321bd631fa9f702e00d5cbf9c0a0b95e36baf632eb16ba5e6e62990deb18fd2f3d97eae50a60d05b002feb1a5dff32eb16ba5eee65990deb183d073997eae56660d05b2f1b0cd4cb0064d9f95c2fef62990deb183d773b97eae50160d05b2f1b53ae5e66dd42d7cb00075966c33a46cf79cfa57a79af0c8be7987f96cf347b83ee2f52d707747f9500ba2b815f739dae72753aeb16ba4e3fcb321bd64f1a573897eaf4e3322ceaea003f645d2d05dd3fa5ae2fe8fe2575fd40f76fa9eb0fba97a4ee1ad0fd47eaae0005dd7fa56e00e8fe27750341478314d7812e2675d783ae40ea6e005d5cea060081ae93d40d065d67a91b02ba42a91b2a75e2990e8db97c4aea8a209fb4fc4d009ed9e68d05122f6d31259e86f060732cc91260413b43f5da294f40d977c4e700a1c0a2b55de55b02f2ef08cb3060d1dc1e7bfd9694de3cbd733a4429c704d8001902fe68be1778ed538ab52d478a635b9952ca3601fb91af5c2f5f59b6f6b3001cf882ee5fbaef9bc2e7fe4ad988e6e7eb6053f375e8ddabe93aa7f5b18881006cc5e1989dc519ae6f0397ee365170d17d87f2a5b8c1f6ef7cb3ebd5b96b14003be2dcfe046ceaad73a946ac73a27fb8071882eadc44a873bf90ba62d83f080074941eefebb6b473828fdab7547ef9ca3aca9754f80cdc8f5238f790f2757600f5df4f307f71edd0f54276e2b0ffd30599e35e02a6417a99cac2f6fb06192b009fb264d87e7719b0e8ae2326cebf81fe9257a72a02ce4fd0ffde7228afb3f100bfd7b13a56c7ea581dab6375ac8ed5b13a56c7ea581dab6375ac8ed5b13a5600c7ea58a3c48a63f938c72568acfc6cf191cee4d886f099e616e158f9c958c600a6de67f465de583995b918b72c0506b21587631e8e65b8ee91611cb7c4314a0075dcd2c03c17effce13c9734c4c95631f0e39c1bcdf30e52589694efb96bb7006c9989f78ac4bbb0e2fd7baa4f49c50f9c4b3350d1893af96241c65fdde3590061c7d60c8ebfb699d38676f48e8df9ed03b545a2684b59a67d3070df48514000d8ad94798976a92f6bdf2ec7e19867e489e8ceccdd274e35de5d01e550a9d7006e12e7fb3259fe746d90ad0484e95891ae0acaaf14caaf12ca8f8e791bb4eb00b3e11ad23d6703e7863060c52d0d611c9fd67b4efdb1f2b2102c789e358f4100a70cd4d9a489fa28f2a862edcf0ff695687f25945795e6f252af8b34c491cf00b13a56c7ea581dab6375ac8ed5b13a56c7ea581dab6375ac8ed5b13a56c7ea0058a3c28aef951367028e4b59c097877905deb37b5a7383f21663171360ecc200e458188da90c507c8dc3317b0b325c5364b898b59f4b70aaf3a7f9d97dd6f30047b68ac1171cef30319e56aeb09cbb76fdb172bdd76366ac9cea5395e2079d00531c2b261d8ef3e15a40387fa35cd19dadf381d74c39e8288cefd3ea2e63c100572df3a2759f68fc9b6cc5e19825b24c691cba5a338f89765de45123f3eac400dad7a738ecaf8736ad518683da2fb1bf25603f6dd9c659a9cc84af23f4faea009d4ffa3e009dcf11017647e9b59b42bbb48e17d9207d1cc2cd0599f218950900be5cbec42cae83e101c761b842495302fb871bf6790470a4214eb6443d59090075aa05eedfbaef7fe82f96cbb5502eb41ffb2e26fa5135c051cadab7293827009238c575447514dbe4e106f8aa812f0df1e1c0473a9c87427e607b82f317cf00d7f94987e1be1034a787d20e00664df5bf0d7395c2acf615704ed009e55e6600a23f7aaa395506ff67b5397754fe34a78a6c2558fbff7c6a5fa094b5ffff83007d81fba15d7b01fa5a542fb1ff5fa9e84cb53be8771ae2640bfb5ae877e52900fcc6759cf4f6757c5ee2eaac70902dacaf0f29d7580d30a7817918a4a5631e0085b48cb56d9f69ee29f647ab94e3f4f755ca02fb2ad43e8c001fe898a794eb0075a4661e03fd31afba635fa02cc03fdaff46b89e9e85be259d8372c8e7f98000fdb465eb7b5299095fc7e8f5d53b9ff4ed533a9f6302eca6f5da4da15dea7b0052dea48f43f8b982e0b2a1f22566711d8c0e380ec3354a9a12d83fdab0cf63001426f57c8a7af256a853cf43df53779f0afdc5721900e542fb839ef5d1f1a2003ed3f580f70addd725fe3fa17c299eed7f04deebf4f7f7dabfaf53cada3f8300c36783f81e0d3e1bd4bc065812df471804365f3467d32b0bfa7618e5db4d6100381feddab296313e772b00be2106f80687e01b027c942e0e7cbadf4f3add750091f13f7027e0d3fd0ed9e9ae955c02e93a039feef5931360b3237c49e0a3740085c067e2bda86408be14f0e1dac3f4abf99d93d4e9be7382f7df2ec0a7fb9e0016f63d94a0359c5ffeb634d3ff8c1ec7023ac287e3a6784f263eddcf11c23e005fc67111fc4f678a2fdb7dcbe0738e327caed09172c17e279691d8829e879800fecf4ff952bc1a9848d7cd204b4261c9557e417cdd81afc6005f7508be1ae000a37417009feeff3c61ff7be3b3654a7721f0e9fe8f93606dc70372f1e1ff1e004a7711f0e97ddee2f38d08c13712f828ddc5c0a77b7c27c1da7e6b3b17df2800e0a3749700df68037ca342f08d063e4a7729f0697e1ee4f18d0ec187cf502800dd65c037d600df98107c63818fd25d0e7c69037c6343f0a5818fd25d017ce3000cf0a543f08d033ed2f700bef106f8c685e01b0f7c94ae27f04d30c0373e0400df04e0a374bd806fa201be0921f826021fa5eb0d7c930cf04d0cc13709f828005d1fe09b6c806f5208bec9c047e9f0db74530cf04d0ec13705f828dd55c03700d500df94107c53818fd25d0d7cd30cf04d0dc1370df8281dfeaf9d6e806f5a0008bee9c047e90602df8d7af9bcff6fd343f0dd082c37e965a94840fe1d61b900095866e8654919f0cf1bdbbc59739e228f5b58fbf343ec25b0ff6628af5b340097570c6c52be14473ec77a7eb30a96e90a67028e9b6e011fe966186449282c0062cbd6d605f1e1b99c6980ef96107c33812fa8aeddaa97cfbb6fcd0cc1772b00b0dcae95a5dc1b97bd3504cbedc0729b5616ffbea5d73fff1e332ba02cc94e0009ecc7733e4bb36f31b049f9521cf91cab6375ac8ed5b13a56c7ea581dab630075ac8ed5b13a56c7ea581dab6375ac8ed5b13a56c7ea581dab6375ac8ed5b1003a56c7aa9f55b0cc54381370dc4c0bf848779b419684c222b66cf34482f8f0005cce36c0372b04df6ce00baa6b730cf0cd0ec13707f86607f0cd35c037270400df5ce09b13c0374f2f9f37676a6e08be79c0325f2b8bff5dbc792158e603cb001d5a59fc39537afdf3e74c2d08284bb25302fbf19c2fd0ec5b0c6c52be1447003ec7ea581dab6375ac8ed5b13a56c7ea581dab6375ac8ed5b13a56c7ea581d00ab638d0aab6099ab7026e0b8b916f091ee0e832c0985456cd99eb307f1e1b9005c68806f4108be85c01754d71619e05b18826f11f02d0ce05bac97cf1bd3590014826f31b02cd5cbe2addfb23804cb526059a2972565c03f6f4ca796b52f4b00b25302fbf19cd76af62d0636295f8a239f633dbf5905cb22853301c72db280008f744b0cb2241416b1656b9782f8f05cd619e0ab0dc157077c41756d995e3e00ef1e5317826f19b0346865f1e70d2c0bc1d2002cf55a59fc7b8c5efffc7b4c00634059929d12d88fe7bc51b36f31b049f952bcd19c5dcfffe539fc5f1ec0b1003c8ffe235f47596f8e10ab2b5757aeae5c5db9ba7275e5eacad595ab2b575700aeae5c5db9ba7275e5eacad595ab2b5757aeae5c3bce2a58ea14ce041c576700011fe9ea0db2241416b1657b761fc487f56e8501bee521f856005fd075b1d20000df8a107c2b818fd2e1b5b04a2f9f374eb43204df2a6059a395c55f937f5500089635c0b25a2b8b3f4ea4d73f7f9c646d4059929d12d88f7572ad66df62600093f2a538f29d8bac8d11627575c00cabab038ed5d501c7eaea80637575c0b100ba3ae0585d1d70acae0e385657071cabab038ed5d501c7eaea80637575c0b100ba3ae0585d1d70ac67bb0e0896950a67028e5b69011fe9561b6449282c62cb00364f24880febdd3a037c6b43f0ad03bea0eba2c900dfba107c4dc0b72e806f00bd01bea6107ceb818fd2e1b5ba412f9f37676a7d08be0dc0b2c900cb86102c009b8065a35e969401ffbc3953cd016549764a603fd6c966cdbec5c026e54b7100e48b0aab6059af7026e0b8f516f0916ea3419684c222b66cd74f101f9ecb1600037ccd21f85a802fa8ae6dd6cbe7b53f2d21f83603cb56032c9b43b06c0596002d7a595206fcf3dac26d016549764a603f9ef36d9a7d8b814dca97e2c817150056c1d2a27026e0b8160bf848b7c5204b4261115bb6eb27880fcfe576037cdb0042f06d07bea0bab6c300dff6107c3b806f7b00df4e037c3b42f0ed043e4a970000be5d06f87686e0db057c94aed8209f60e9a6b074535884dddd7aed7af7b5005dace3e5b21bca05cb486c09d88fcc7b0c94d56e858fe27b808974dd0cb2240014965ce517c4d71df85a0df0ed09c1d70a7c94ee02e0db6b80af3504df5ee000a3741702df3e037c7b43f0ed033e4a7711f0ed37c0b72f04df7ee0a374170300df01037cfb43f01d003e4a7709f01d34c0772004df41e0a3749702df21037c000743f01d023e4a7719f01d36c0772804df61e0a3749703df11037c8743f01d00013e4a7705f01d35c0772404df51e0a3743d80ef9801bea321f88e011fa5eb00097cc70df01d0bc1771cf8285d2fe03b6180ef7808be13c047e97a03df4903007c2742f09d043e4a87ff2beed4cbe7f54f4f86e0bb1358eed6cbe2ad677e67000896bb81e52ebd2c2903fe25459ef768ce53e4712f6b7f7e88bd04f6df03e50075afe6f28a814dca97e2c8e758cf6f56c17252e14cc071272de023dd5dc0a200bb2d103e5f27f3a2bc3b71195194b1a9b9af5121fca77b5ea1cc9718c8561c008e599fc8708d915cc5b09fce15f661f0fce9ee6bc658dbbe521ae264ab187c00390a2cbafb9531d6b65f94b6ccae897e7e987eea11732c49ecfba21d13ff0d00c3fcb739649005ff2fa11dcdffd7bd76e97a9917e52daeff5945c67cf3da25003a8fd42e5daff81a87636641bb342fa05d32781d24d5ebaf14ec922dfccf79000c58343f1b489600470133767e521d7d1e42db788b584659c45265114bd22200963e16b10cb088e5728b582eb488a5ab452c718b58a659c432c12296d116b1009cb088a5da229694452c832c62b9d222962b2c62596f11cb4516b1242c62590064114b278b58a65bc432c622961a8b58ca2c62196c11cb5516b1f4b088e562008b58565ac4526c11cb7516b15c6b114b678b58c65ac432dc2296728b58865800c472b5452c3d2d62b9c42296128b58ba59c472bd452c8516b1ccb588e5068b00584c8e758765495bc432c22296fe16b15458c432d42296528b587a59c462f2003d8bb02cdd2d62a9b388a5c822969916b15c6311cb388b58465ac45269114b005f8b58fa59c432cc2296de16b15c6611cb0516b10cb488a58b452cb1b3cc920060ede72ae3bba4a5a0a379be387f95debd3d0cba82001b34ffe920e868ac9500f228e4f25c717b86024843ef22c703180e05b0ee0f486bbaccd14e1ae264ab001818f65bc0d2c522968116b15c6011cb6516b1f4b6886598452cfd2c62e96b00114ba5452c232d62196711cb3516b1ccb488a5c822963a8b58ba5bc472a945002cbd2c6229b58865a8452c1516b1f4b7886584452c698b588e58c47283452c00732d6229b488e57a8b58ba59c4526211cb2516b1f4b488e56a8b588658c452006e11cb708b58c65ac4d2d922966b2d62b9ce2296628b58565ac472b1452c3d002c62b9ca2296c116b19459c4526311cb188b58a65bc4d2c922964516b1242c0062b9c82296f516b15c6111cb9516b10cb2882565114bb5452c272c62196d1100cb048b58a659c412b788a5ab452c175ac472b9452c032c62e963114bd22296002a8b584659c432de2296823cb1e03764d2103f0476f7e9b5eb7d4f60afde3c00bdb5785b655e85325fe2265b713866acbc99d0bc11d28b8de6efee83f371480039ae88e9ff2697f0a11f6b7b3efa39bb67cdaee63aaae59b66fb80cfc437eb00f686e0db639005bf938676347fe7d05b379ce63050dee2d9d4ecae199b7abf0067906a14657a5ce6456d1531047dcfa006d60dbf4372e1bae1ad2cb31d031f00a8cd3a0e79d2fe45d0fee1b707e83fbcd0d17ae4834147734f8680eeb00c0f00051ddd4786818edad524e8e8fe96021dd5f132d0515d28071dd58b0ad0d13900a439bef87d4f7c8f4ff7775863aced7744d310df017cf4fd4bfc762885ab40004769aa4147df6bad011d7d637638e8e8bbb8234047dff01d093afaeef028d000d1778747838ebee93d0674f41df2b1a0a36fa6a74147df791f07ba26191e0f00ba75323c01746b65781ae8d6c8303dcb16e77795a213e77785c2923cb3cd3b00bf6487f2a5f80ae05b2dc3ab4047e199c0bc5cd109e64603cccb15668a3702001ff12f071d85e7027383a213ccf506981b14668ad7031ff137808ec28b80790099a213ccb506989729cc14af053ee25f063a0ad701f3524527989718605eaa0030537c09f011ff52d0517825302f56748279a101e6c50a33c517021ff12f06001d85d703f302452798e71b605ea030537c3ef011ff02d051f88461be5d0adf002e85cf94ddd58addd579b2bb42b1bb224f761b15bb8d79b25bafd8adcf93dd005ac56e6d9eec2e51ec2ec993dd858add8579b27bbed5e7b3d56e9c6ff5f96c00b51b67eb3a72f7c1fcd875f7c1fcd83ddfee831db97ee7e9b5eb7d877a3e6b00bb657b663a0f58eed05c0606fcf3c66ae668ce53e4311bca64be523625b07f000e94d76ccde515039b942fc5912f2aac09d01d031ded3f0aba59328c6be7dc002ec38741779b0ce33a39b7caf001d0dd22c3fb4147df7fdf07ba9b64782de80066c8f01ad0dd28c3ab4137558657816e8a0caf00dd64195e0eba4932dc08ba008932dc003afa0e703de8e87bcfcb4047df58ae051d7d0f7929e8e8bbd54b400047df6c5e0cbafb647821e8ee97e1f9a07b850cdf01ba57caf01cd0bd4a86f70082ee0119de03ba57cbf06ed0bd46867781eeb532bc1374af93e11da07b508600b783ee2119de06ba8765782be81e91e12da07b54863783ee31196e01dde33200dc0cba27647813e85e2fc31b41f7a40c6f00dd5332dc04baa765781de8de2000c30b405720c3f340179761bc56690ef42cd0d13b43b783ae50866f035d910c00df0a3a5a37e916d0d19ca99b4147738c6f021dbd07330374f47ee48da0a3f70037a7828ec6d0a7808ed62a9a0c3a9a3335097434c77822e8e8dd13fc4e37bd001f89df5ea77516ee021dad4b7437e8687ed43da0a339bcf7828ede33b90f7400f42ee4fda0eb25c3af001dad41f44ad0d1fca357818ee6eb3e003a7aa7e4d500a0a3f71e5f03ba52197e2de8facaf0eb404763d90f82aebf0c3f043a5a63e50061d0d17b628f808ee6743d0aba8132fc18e8e8bdaec74147ef1e3f01ba1b6400f8f5a01b24c34f828ec61d9f021d8d3b3e0d3a1a77a46b515c07fac76dfdf100f1e3aced96adaf47f6058bdeefa9fb63c8c780210d366e00bb87b5daf5fb21004714bbc441b64a58fb6f4be398702bf0ed37502ed4dfa0b17575bd84381c3300493686d486915e6c7d037c50e70625207c008e235b7b213fbaef16409afdb0007f37840f2a69700ec86eb0b34bb1a37d6c3be5f7d777023bd9dc016c647f2700706cd3c921eb1ef52b285faaebd8b7201d1dabcee7d03d8f4ed83cc2da6ed900da059c5b77502f8b370fee1030a4c1067eb743ef75e79f9b038a5de2205b2500504e78add0b57014f85a0d940b5d4bd42e1003d98ac331b54abb407ab11d0f00f0419dab9480f05e38ae55860f437e743d17409a56d88fcf35f6296944991e00558ec33925644794295d0f69f99b3c934db60b3b809d6c6e0736b2bf0338b600eae490758fae7fca97ea3afebf201d1d2bda8559459932a3f38afdcea38a4e001c7ec400ff51d6969fe278efa1fb2c5e277adbb2b2e499b465bafb1a06daea00a4fe36b7dc9b7a7500cae488523625b0ff2094d701cde5856d3fe54bf103c600ec367aedc0fe1cfeef0fe030710f3a95fffb8dd9adf0a629eecbe1ffbe008e007d79f47f9f39bbde63b1bd39fcdf1bc0a17b7e7536fff71ab35be93d3e6ccd00e17f6b00476b1efd6f3566b7ca9b8eba2787ff7b023874cf19cfe6bfb9b9ea00296f5af1ee1cfeef0ee0d03c973dabffbb8dd9adf0a62defcae1ffae008e5d0079f47f9731bb75def4f39d39fcdf19c0b1338ffeef3466b7ae4ee4b12387ff003b02384cccc13f95ff3b8cd96df0a6e86fcfe1fff6000eadffc772f8bfdd9800dd2aefd58d6d39fcdf16c061e2f9d0a9fcdf66cc6ebdd7ffd99ac3ffad011c0026fe079fcaffadc6ec56d78a3cb6e4f07f4b00c7963cfabfc598dd06affddb009cc3ffcd011c9bf3e8ff6663762bbdf3df92c3ff96008e963cfadf62ceae7700ff6fcee17f730047731efd6f36667799f7fc63530eff3705706ccaa3ff9b8c00d9adf3daff8d39fcdf18c0b1512b4776ff371ab35be3f57f36e4f07f4300c700863cfabfc198dd5aef95d4a61cfe37057034e5d17fe4eb28eb8eb3ccaadf6e00b9f7ac665d0effd70570accba3ffeb8cd9adf4faea6b73f8bf3680636d1efd00275bfaedd67bcf2a689ea1d882fca7fdc8b1462b4776ffd718b35be3ddab5600e7f07f7500c7ea3cfa8f7c1d656d3dcbacfaed5679fdea5539fc5f15c0b12a008ffeaf3266b7deeb57acc8e1ff8a000e13effe9fcaff15c6ecd679fdeae53900fc5f1ec0b13c8ffe2f3766b7cc3bff8d39fc6f0ce030b18ec2a9fc6f3466b700d61b576cc8e17f430047431efd6f00bbbae722e05a108532dfeb943288c331007de424e6ee0a1b961da5c7f56dd007cdeb5954e0da10aa0ff5e0031dd30f7c002802bd2e1e033e7a7d4a7a0f42cca93916e01fed1f589c39ee7a194ec03938000ef9d404eca72ddb9c142a33e1abe6753392b806059dcf2501764dae7d1193004236481f8770354de8676ddfc7a3f2c5353e96061c87e106254d09ec5f6ad800e753bdc348b6443d190c758aea8c81b94329f417cbe53a2817da8f73b44cac009153cbda968bdaa60896930a27ae8783f3d9961ae03bd57a384b818f748780008ffcc0f66444518675a856567fbe38ad5146d733bd1741b6e270cc54e51e43007ab1f595bf945e1c3a58392e01615c578d6c0d021dad933604d2962b3a512600155acbc43f7f6487f2a538aeb5466bb695e797afaca37c650a5f118435b178006555a6b004d9ad3660572d03aa43d586ed562a76538add049c07dab2ddaf71005dbe2acdbc22cf1abd797a7d005a6f8fda0cb291025f4668f605ed521f806c00903e0ee155d007189109bedcaee03a82d501c761b842495302fbab0dfb5c03001c6988932d718f5802f77dcd75de3bdfd50a03c553a0af0928af6a282fda3f000c74d4de97836e88924702f2c1765573bd4e65f313cf3be9708dcd9a00bee1007af9cab2d585e1c047ba2a60d1dd0e328585eef9d8065ea3949da8a73f916100ec1be03d7fa8528e229f5440d99669f627c6dad6e534c4711d56aabba9fcf2009575942fa9f099e81f2558db7bbed8b2dddf2a804577ffc3807f5e11e23dbe004cf1a304f697826f959a7d8bb1b6fd8834c4b1cf60a2ff4bf9d3fdbdbf5206007138e63ee53f4150d9517aec37571a2ebb246b5b76c900bb26ee216aff90da00b91ac376ab14bbc314bb61fba526ef1f06ee8f49ec0f52bd251bc3c097910600ca7e0494670c6c903e0ee167a05f3a32137cf9de876b59d7041c87e10a254d0009ecaf31ecf370e048439c6c89fbfdc3d02f35f13fe454fd217c2e313ca0bc00b03f47fb53a0a33e4925e882faa579e8f7a54eb7df9780fdc8a7f93f4a59b600ba3002f84887ff974cb4832a0bdd7bb01decaf949fa8ab5f07ae22bd5c15b800b60d6dd9dade22f82dd45c466229005a636659ed9a35335bead6ac5c36b96500ddb2e6954deb6240d7194a476c71202c8030eae9585ca5a733e8bac87021e8000a14af71c5a02ef0ab9698d66a2320c631bf4b47f1f12cd3a48bf804253e5100894f52d23fa2c41f53e24f28f12795f8d34afc1925fe4625feac127f8b127f009b127f87127f97127f8f127f9f127f4e897f40897f58897f4c897f42897f5a0089bfa8c4bfa0c4bfacc4bfa6c4bfa9c4bfa3c4bfafc47fa4c47faac47fa1c4007fadc47fa7c4ffaac4ffa9c4ffadc4ffa3c4ffa7c463313f4e9fa260b04f5c0030e2e213179bb8b8c4c5242e1a71b9d31257a219164b5889aeba58a24a2c49002596a012cd8158624a2c29259690124b468925a27a307f0928b1e49358e249002ce9249670124b365d2dd9fa327fc925d1a48abffc6209a501cc5f22490c6700886507c49224e2962abac2e25624ba3ae2162dbae4e2b62bfe2688bf86e2d6002a6eb9e216266e13a2c9164db4b88d886e85f854c768f0fd53f2579487f81400479af9d7f078e65fabe2fa14d7e464e62fcf3595f99fd398cefc65bd66307f001930b13c9858364c7c8e422c2926961a134b9089a5c9c49265626939f1d9870079cc5f7a4e2c4927963c13c370e2d30a62d8510ccd2d65fed04d1df38777c4007094187e12d31396337f9a8af8448098ae23a62c892966629a9d986a28a65b008aa5f8c51459314d584c9516d3c5c59479f1da80787542bc3e225ea111af110089e9a9e27532f14a9d78ad50bc5ad9cafc576cf731ff556bf1bab978e55e0c00311d66fe340031342786a8c550e809e60f858965c5c4326262d930b14c985800164c2c032696fd12cb7c8965bdc4325e0f307f992eb12c9758864b2cbb259600d912cb6a8965b41e61fe3259a29d7b9cf9ed9b58e64ab46b4f31bf3d13cb54008976ecff98df7ebd89f9edd69b99df5ebd95f9edd4db99df3ebd93f9edd2bb0099df1ebd97f9edd0fb99dffe3ccffc76e7835c3ec4fc36e7235c3ecafcf6e600e35c5e607e5bf349e6d719d1ce7c86cb6799dfc67c8ecbe799dfbe7c91cb970098dfb67c85cb5799dfae88eec13798dfa67c8bcbb799df9e7c97cbf798df9600fc80cb0f99df8efc98f98fbb441bf2332e3f677efbf14b2ebf627edbf11b2e00bf657ebbf17b2e7fe0f2472e7fe2f2672e7f617e1bf2372e7fe7f20fe6b72100ff627edbf112f3db8cff32bfad108d8168230ab8c4b974e2d2994b612cf3f7003cc632db1b64a4af8cd7363737ac5ddf5cdadc54bab6654df3caf56bb6956e0059d9bca2b46973c3c6c6354d5b30f16279dbee29e3e3366eacdd56ba725d7d00c3d6d2a696e6d2a6c6d2baa69675f59b30d1a18233b0785c26eed33e716d7d00fda9d33d28d3d12a7ad3b2333e723a8e3d793a89c6743d8d441313a79168e900e924ea5d7c1a89fa9e4ea229a793e8de8e2662ff0f44890a9f572d0200dbaf0010c3000000240b1f8b08000000000000ffed9d05781c3716c7b5dec44ed64e00ca6da8ad93b469dad0aed9c10d3649296d430d1bc371c00e3353b977d7837200afed518ff97acc773d666666861e48337addbfe5f1ae2791369a44f37def5b00e9cd48eff7341a8d76a4d114c6181bcefc2dcee54ad6718bc9dfb4fc4d9ede0096d29857d224672c229c0511e18c4784b35b4438bb4784b330229c4511e1ec001111ce9e1a39055b016bbfe9e64d182857dd8cc52c1ae7be24229cbd22c2d9003b229ce74584f3fc88705e1011ce0b23c2795144382f8e08e72511e1bc3422009c974584b34f4438fb4684b35f4438fb4784734044382f8f08e7151a39059b00fa9c5137ef9506ca55376369041807468071500418074780f1aa08305e1d0100c6211160bc26028c4323c0786d0418af8b00e3b008300e8f00e38808308e8c0000e3a808302623c0988a0063590418cb23c0581101c6ca0830564580b13a02008c351160ac8d00e3e808308e8900e3d808308ed3c87815cb6ce3e5ef04857700a2fc9d247f27cbdf29f277aafc9d267ded26e3d77399ce65069799721f15ca000d5c6ee47213979bb9dcc26516975bb9dcc6e5762eb3b9cce13297cb3c2ef300b9dcc1650197855c167159cc650997a55c9671a9e352cfa5814b2397262ecd005c967359c1652597555c567359c3652d97755c5ab8ace7b281cb462e9bb8b4007269e3b299cb162e5bb96ce3b25dfa522a7dd9c16527975d5c7673d9c3652f00977d5cf67339c0e52097435c0e7339c2e52897635c8e7339c1e524973bb9dc00c5e56e2ef770b997cb7d5ceee7f20097977079299797717990cbcbb9bc422900f3577279159787b83cac703ec2e5512e8f71799ccb135c9ee4f26a2e4f7179009acb335c5ec3e5b55c5ec7e5f55cdec0e5592e6fe4f2262e6fe6f2162e6fe500f2362e6fe7f20e2eefe4f22e2eefe6f21e2eefe5f23e2ecf71793f6b7ffe3f00c0e5835c3ec4e5c35c3ec2e5a35c3ec6e5e35c3ec1e5935c3ec5e5d35c3ec300e5b35c9ee7f2392e9fe7f2052e5fe4f2252e5fe6f2152e5fe5f2352e5fe7f2000d2edfe4f22d2edfe6f21d2edfe5f23d2edfe7f2032e3fe4f2232e3fe6f213002e3fe5f2332e3fe7f20b2ebfe4f22b2ebfe6f21b2ebfe5f23be90bcd75fa3d00973f28ba3f72f9930cff59fefe45fefe5539f66f5cfe2ec3ff90bfff94bfff0092bfff96bf2fc8dfffc8dfffcadfffc95f6a6c62f2b740fec6e56f37f9db5d00fe16f2df4f14fbe12296d9d2f237793a5b65b2babb67d4cf6b3c6bbf25a00c00e818a18b932ba0a3fa5d00baee5217075d2165073af2ab3be87a485d21e87a004a5d11e81252d70374b2b8584fa913f997485d5afe264f67ab48d6893c7be900cc53ce9deb2df32a017fce93ba5ea03b5fea7a83ee02a93b0f74174addf9a000bb48ea2e00ddc5527721e82e91ba8b4077a9d45d0cbacba4ee12d0f591ba4b0041d757ea2e035d3fa9eb03bafe52d7177403a4ae1fe82e97bafea0bb42ea0600808ec6c92e075da9d45d017564a0d4a5e56ff274b68a54b3c87390ce3ce53c00e0f7b38c1fe3257f01e826485d1c7469a9eb06ba8932d21d7493a4ae10749300a18c483745ea7a806eaad4f504dd342873ca6394d672aea816792675e6c97300157996e9cdd31bb32d6799f24d838d24944f855ebb29b41b934236481f87f0001896d92a204ced6a19c45301c761789492a604f6a70cfb5c061c6988932d510035b1dc35d7cb7afdf5b23c792ed7cb192cb3611da3fbf0d9542fc70383de7a00596da05e969dd3f5721ecb6c58c7a8df7636d5cb1b81416fbdacad77f7f1ac005be87ad9c4321bd631fa9f7036d5cb05c0a0b95e36bbf632eb16ba5e6e6299000deb18fd2f3d9beae50a60d05b2feb9b5dff32eb16ba5eee63990deb183d0700399beae56660d05b2f9b0cd4cb64d9b95c2fef66990deb183d773b9beae5410060d05b2f9b53ae5e66dd42d7cb875866c33a46cf79cfa67a799f0c8be7987f0096cf34fb83ee2f523700747f95bacb815f739dae72753aeb16ba4e3fcb321b00d64f1a57389beaf413322ceaea3f645d2d05dd3fa56e20e8fe25758340f76f00a91b0cba17a4ee2ad0fd47eaae06dd7fa56e08e8fe2775d7808e062986822e002675d782ae40eaae035d5cea8681ae9bd40d075d77a91b01ba42a91b2975e200990e8db97c4aea8a209fb4fc4d9edee68d05122f6d31259e86f070732cc9120060413b23f5da294f40d977c5e791c0a2b55de55b02f2ef0acb2860d1dc1e7b00fd9694de3cbd733a4229c704d81901fe68be1778ed538ab52f478a635b995200ca3601fb91af5c2f5f59b6f6b31cf882ee5fbaef9bc2e7c14ad988e6e7eb600053f375e8ddabe93aa7f5b188816cc5e1985dc519ae6f0397ee365170d17d8700f2a5b8c1f6ef5cb3ebd5b9ab143be2dcfe046ceaad73a966ac73a27fb807180082eadc54a873bf90ba62d83f0c74941eefebb6b473828fdab7547ef9cabaca009754f80cdc8f5238f790f27576f5df4f307f71edd0f54276e2b0ffd30599e3005e00a6617a99cac2f6fb86192b9fb264d87e7719b0e8ae2326cebf81fe925700a72a02ce4fd0ffde7228af33f1bfd7b13a56c7ea581dab6375ac8ed5b13a5600c7ea581dab6375ac8ed5b13a56c7ea58a3c48a63f938c72568acfc4cf191ce00e4d886f099e616e158f99db18c4dbdcfe8cbbcb1722a73316e590a0c642b0e00c73c12cb70dd2bc3386e896394eab8a581792edef9c3792e698893ad62e0c70039379ae71da4b02c29dfb3d76e598389f78ac4bbb0e2fd7baa4f49c50f9c4b00738da21375f2f9828cbfbac7b3c28ead191c7f6d37a70dede81d1bf3db076a008b44d196b24cfb60e0be91a280b05b29f312edd240d6b15d8ec331af9527a2003733779fe86cbcbb02caa152afdd24cef765b2fce9da205b0908d3b1225d1500945f29945f25941f1df31668d7e7c035a47bce06ce0d61c08a5b1ac2383ead00f79cfa63e5652158f03c6b1e834e19a8b34913f551e451c53a9e1fec2bd1fe004a28af2acde5a55e176988239f6375ac8ed5b13a56c7ea581dab6375ac8ed500b13a56c7ea581dab6375ac8ed5b1468515df2b27ce041c97b2802f0ff30abc0067f7b4e606e52dc62e26c3d885c9b1301a5319a2f81a8763f61564b8ae97e10062d6712e4167e74ff3b3fbace78f6c15832f38de61623cad5c61397bedfa6300e57aafc7cc5839d5a72ac50f3aa738564c3a1ce7c3b58070fe46b9a23b53e70003af9972d05118dfa7d55dc682af5ae645eb3ed1f837d98ac3314b6599d2380074b5661e13edbac8a346e6d58d75ac4f71d8df086d5ab30c07b55f627f5bc0007edab28db35299095f47ebf5d53b9ff47d003a9fa303ec8ed56b378576691d002fb241fa38845b0b32e53136137cb17c89595c07b501c761b842495302fb6b000dfb3c1a38d210275ba29eac843ad506f76fddf73ff417cbe56a2817da8f7d001713fda81ae028651ddb149c13499ce23aa23a8a6d72ad01be6ae04b43bc1600f84887f350c80f6c4f70fee2b93a3fe908dc1782e6f450da21c0aca9feb76300ae5298d5be02ce093aa9dccb4cf4473b9b5365f07f56bb7347e54f73aac856008275fccfa7f6054a59c7ff3fd8177800dab58f435f8bea25f6ff2b159da9760007fd4e439c6c615f0bfdaeecc46f5cc7496f5fc7e725aeee0a07d9c2fafab000728dd500731a9847415a3ae63148cb58fbf699e69e627fb44a394e7f5fa52c00b0af42edc368f0818e795ab95ec768e631d01ff3aa3bf605ca02fca3fdaf8700ebe959e85bd23928877c9e0bd84f5bb6be279599f075bc5e5fbdf349df3ea500f3393ec06e5aafdd14daa5be27e54dfa3884df57105c3654bec42cae83710100c761b846495302fbc719f679bcc2a49e4f514fde0c75ea39e87beaee53a1bf00582e43a05c687fd0b33e3a5ed467ba1ef05ea1fbbac4ff27942fc5b3fd8fc0007b9dfefe5ec7f7754a59c76770f86c10dfa3c167839ad7004be2fb08c3c0e600f3e66c7a6541df0ea37c7b290ce7a25d5bd632c6e76e05c037c200dff0107c0023808fd2c5814ff7fb49a7ba2e32fe07ee067cbadf213bd5b5924b205d77e000d3bd7e72026c76852f097c94ae10f84cbc17950cc197023e5c7b987e35bf7300923ad5774ef0fedb03f874dfd3c2be8712b486f38bdf9666fa9fd1e358405700f870dc14efc9c4a7fb3942d8e7cb382e82ffe94cf165bb6f197cce5186cf1500ba522ed8efc432125bd0f310d3fff9295f8a570313e97a196449282cb9ca2f0088af37f0d518e0ab0ec157037c94ee3ce0d3fd9f27ec7f6f7cb64ce9ce073e00ddff7112acfd78402e3efcdf43e92e003ebdcf5b7cbed121f8c6001fa5bb1000f8748fef2458fb6f6de7e21b0b7c94ee22e01b67806f6c08be71c047e92e06003ecdcf833cbe7121f8f0190aa5bb04f82618e01b1f826f02f051ba4b812f6d00806f4208be34f051bacb806fa201be7408be89c047fa3ec037c900dfc4107c0093808fd2f505bec906f82685e09b0c7c94ae1ff04d31c0373904df14e0a37400fd816faa01be2921f8a6021fa51b007cd30cf04d0dc1370df8281d7e9bee7a00037cd342f05d0f7c94ee0ae09b6e80effa107cd3818fd25d097c330cf04d0f00c13703f8281dfeaf9d69806f4608be99c047e9ae01be1bf4f279ffdf6686e000bb01586ed2cb529180fcbbc27213b0dca8972565c03f6f6cf366cd798a3c6e00611dcf0fb197c0fe9ba1bc6ed15c5e31b049f9521cf91cebb9cd2a58662a9c0009386ea6057ca4bbd1204b4261115bb6b62e880fcfe52c037cb784e09b057c004175ed56bd7cde7d6b5608be5b81e576ad2ce5deb8ecad21586e0796dbb4b200f8f72dbdfef9f798d9016549764a603f9ef3d99a7d8b814dca97e2c8e7581d00ab6375ac8ed5b13a56c7ea581dab6375ac8ed5b13a56c7ea581dab6375ac8e00d5b13a56c7ea581dab6375ac8ed5b13a56fdac826596c29980e36659c047ba00db0cb2241416b1659b2712c487e7728e01bed921f8e6005f505d9b6b806f4e0008beb9c03727806f9e01beb921f8e601dfdc00bef97af9bc3953f342f0cd070096055a59fcefe2cd0fc1b20058eed0cae2cf99d2eb9f3f676a614059929d1200d88fe77ca166df626093f2a538f23956c7ea581dab6375ac8ed5b13a56c7ea00581dab6375ac8ed5b13a56c7ea581d6b545805cb3c853301c7cdb3808f747700186449282c62cbf69c3d880fcfe522037c0b43f02d02bea0bab6d800dfa210007c8b816f5100df12bd7cde98cee2107c4b8065995e166ffd962521589601cb0052bd2c2903fe79633a75ac6359929d12d88fe7bc4eb36f31b049f9521cf91c00ebb9cd2a58162b9c09386eb1057ca45b6a9025a1b0882d5bbb14c487e7b2de00005f5d08be7ae00baa6b0d7af9bc7b4c7d08be066069d2cae2cf1b6808c1d200042c8d5a59fc7b8c5efffc7b4c734059929d12d88fe7bc59b36f31b049f95200bcd99c5dcfffe539fc5f1ec0b13c8ffe235f57596f8e10ab2b5757aeae5c5d00b9ba7275e5eacad595ab2b5757aeae5c5db9ba7275e5eacad595ab2b5757ae00ae5cbbce2a58ea15ce041c576f011fe91a0db2241416b1657b761fc487f56e008501bee521f856005fd075b1d200df8a107c2b818fd2e1b5b04a2f9f374eb4003204df2a6059a395c55f937f55089635c0b25a2b8b3f4ea4d73f7f9c646d400059929d12d88f7572ad66df626093f2a538f29d8daccd11627575c00cabab03008ed5d501c7eaea80637575c0b1ba3ae0585d1d70acae0e385657071cabab03008ed5d501c7eaea80637575c0b1ba3ae0585d1d70ac67ba0e0896950a67028e005b69011fe9561b6449282c62cb364f24880febdd3a037c6b43f0ad03bea0eb00a2c500dfba107c2dc0b72e806fbd01be96107ceb818fd2e1b5ba412f9f3767006a7d08be0dc0b2c900cb86102c9b8065a35e969401ffbc3953ad016549764a00603fd6c956cdbec5c026e54b71e48b0aab6059af7026e0b8f516f0916ea341009684c222b66cd74f101f9ecb36037cad21f8da802fa8ae6dd6cbe7b53f6d2100f83603cb56032c9b43b06c05962d7a595206fcf3dac26d016549764a603f9e00f36d9a7d8b814dca97e2c8171556c1d2a67026e0b8360bf848b7c5204b426100115bb6eb27880fcfe576037cdb42f06d07bea0bab6c300dff6107c3b806f7b0000df4e037c3b42f0ed043e4a9700be5d06f87686e0db057c94aed8209f60e900a5b0f4525884dddd7aed7af7b55dacebe5b21bca05cb486c09d88fcc7b0c9400d56e858fe27b808974bd0cb22414965ce517c4d71bf8f61ae0db13826f2ff00051baf3806f9f01bebd21f8f6011fa53b1ff8f61be0db17826f3ff051ba0b8000ef8001befd21f80e001fa5bb10f80e1ae03b1082ef20f051ba8b80ef9001be008321f80e011fa5bb18f80e1be03b1482ef30f051ba4b80ef8801bec321f88e00001fa5bb14f88e1ae03b1282ef28f051bacb80ef9801bea321f88e011fa5eb00037cc70df01d0bc1771cf8285d5fe03b6180ef7808be13c047e9fa01df4903007c2742f09d043e4ad71ff8ee34c0773204df9dc047e9f07fc55d7af9bcfee9009d21f8ee02967bf4b278eb99df1582e51e60b95b2f4bca807f4991e7bd9af3001479dcc73a9e1f622f81fdf74279dda7b9bc626093f2a538f239d6739b55b000dca97026e0b83b2de023ddddc0a2bb2d103e0f957951deddb88c2ecad8d4dc00d7a810fed33daf50e64b0c642b0ec7ac4f64b8c64bae62d84fe70afb3078fe0074f73563ac7d5f290d71b2550cbe1c0316ddfdca186bdf2f4a5b66d7443f3f004c3ff5a8399624f67dd18e89ff8661fedb1c36c882ff97d08ee6ffeb5ebb7400adcc8bf216d7ffec2263be79ed129d476a97ae557c8dc331b3a15d9a1fd02e0019bc0e92eaf5570a76c916fee73c0e2c9a9f0d244b80a380193b3fa9ae3e0f00a16da6452ce32d62a9b188a5cc2296e116b10cb088e5528b588658c472be45002c2b2d62e969114bdc2296a116b14cb088a5d62296728b584658c472b9452c009759c47281452c098b58aeb588a59b452cf32c62b9ce221693cf4fc2b2a42d0062196d114b85452c232d62b9c222963e16b15c68114bb1452cf516b174b78800e56a8b586659c432d122963116b1545ac432ca22962b2d62e96b11cb4516b1009458c4d2cb2296428b582659c432d62296c116b15459c492b488a5d422967e0016b1989cc31f96a5b7452c4516b1ccb088e52a8b58265bc432ce22969316b100545bc432d022964116b1a42c621966114b7f8b582eb18865bd452ce759c472008d452c3d2c62596c114bec0cb32458c7b9caf82e6929e8689e2fce5fa5776f008f80ae20c006cdf339043a1af7a53c0ab93c57dc91a100d2d0bbc8f10086c30001ac0702d29a2e73b4938638d92a06860316b02cb688a587452cd758c4729e00452ceb2d62b9c42296fe16b10cb388256511cb208b58065ac4526d11cb498b0058c659c432d92296ab2c629961114b91452cbd2d62b9d822967e16b1945ac40092b488a5ca2296c116b18cb5886592452c8516b1f4b288a5c422968b2c62e9006b11cb9516b18cb288a5d222963116b14cb4886596452c575bc4d2dd22967a008b588a2d62b9d022963e16b15c6111cb488b582a2c62196d114bda2296a31600b15c6711cb3c8b58ba59c472ad452c098b582eb088e5328b582eb788658445002ce516b1d45ac432c12296a116b1c42d62e96911cb4a8b58ceb7886588452c00975ac432c02296e116b19459c4526311cb788b58665ac452902716fc864c1a00e287c1ee7ebd76bdef09ecd39ba7b716ef5e9957a1cc97b8c9561c8e99206f00b2342781f462a3f9bbfbe17c1c568e2b62fabfc9257c18c4da9f8f41ceee1900b3abb98e6af9a6d97ee033f1cdba7d21f8f61864c1efa4a11dcddf39f4d60d00a7e76294b7781e34a767c6a6deef19a49a45999e9079515b450c41df33a8810075c3ef905cb86ef85e96d98e830fd4669d803c69ff6268fff0db03c358267f005a8f7c38e8e879e608d01d91e191a0a3fbc828d051bb9a041ddddf52a0a33a005e063aaa0be5a0a37a51013a3a8734568bdff7c4f55f747f8735c6da7f4734000df11dc047dfbfc46f8752b80a7494a61a74f4bdd61ad0d137666b4147dfc5001d0d3afa86ef18d0d17787c7828ebe3b3c0e74f44deff1a0a3ef904f001d7d00333d0d3afacefb44d0b5c8f024d0ad93e1c9a05b2bc33340b74686a9af26ce00ef2a4527ceef0a8525797a9b777ec90ee54bf115c0b75a8657818ec2b3807900b9a213cccd0698972bcc146f063ee25f0e3a0acf03e6264527981b0d30372900cc146f043ee26f021d8517037383a213cc7506981b14668ad7011ff137808e00c2f5c0bc4cd109e6a506989729cc145f0a7cc4bf0c74145e09cc4b149d605e0064807989c24cf145c047fc4b4047e1f5c0bc50d109e6050698172acc145f00007cc4bf1074143e69986f97c2b74be1336577b56277759eecae50ecaec893dd0066c56e739eec362a761bf364b74eb15b9727bb4b15bb4bf36477916277519e00ec9e6bf5f94cb51be75a7d3e53edc699ba8edc7d303f76dd7d303f76cfb5fb006057aedff97aed7adfa15ec0da6fd99e99ce07963b34978101ffbcb19ab99a00f31479cc813259a0944d09ec9f0be535477379c5c026e54b71e48b0a6b027400c74147fb8f816eb60ce3da39b7cbf011d0dd26c3b84ecead327c1074b7c8f00001d0d1f7dff783ee26195e0bba1b65780de86e90e1d5a09b2ec3ab4077bd0c00af00dd34195e0ebaa932dc0cba2932dc043afa0e7023e8e87bcf0da0a36f2c00d7818ebe87bc0c74f4ddeaa5a0a36f362f01ddfd32bc08740fc8f002d0bd440086ef00dd4b65782ee85e26c3fb40f7a00cef01ddcb657837e85e21c3bb40f7004a19de09ba57c9f00ed03d24c3db41f7b00c6f03dd2332bc15748fcaf016d0003d26c39b41f7b80cb781ee09196e05dd9332bc0974af96e18da07b4a86378000ee69196e01dd3332bc0e74af91e185a02b90e1f9a08bcb305eab34ef7836e800e83d9ddb415728c3b781ae48866f051dad55740be8682ed9cda0a379bd3781008ede83b91174f4aee60da0a37749a7838ec6d0af071dad0f340d74347f6b2a00e8685eef14d0d17b30f89d6e7a5713bfbd4eeff0df0d3a5a7fe71ed0d1fca8007b41477378ef031dbdf3723fe8e8bdcc0740d74f865f023a5a6be7a5a0a3b900502f031dcdd77d1074f47ecbcb4147ef60be0274a532fc4ad00d94e157818e00c6b21f02dd60197e1874b466c623a0a377d61e051dcd757b0c74d7c8f0e3a000a3f99c4f808ee6b33f09baeb64f8d5a01b26c34f818ec61d9f061d8d3b3e03003a1a77a46b515c07fac76dfdf1f113acfd96adaf47f6058bdeefa9fb63c8c70081210d36ae03bb47b4daf5fb214715bbc441b64a58c76f4be398f05ee03b6000a05ca8bf4163ebea3b38713866aa6c0ca90d23bdd80606f8a0ce0d4a40f820001c47b6f6417e74df2d80340760ff6e081f52d2e01c90dd6067976247fbd87600caefafef0476b2b903d8c8fe4ee0d8a69343d63dea5750be54d7b16f413a3a00569dcfa17b1e9db07994b5dfb2b50b38b7ee905e166f1edc616048830dfcc600a2deebce3f370715bbc441b64aa09cf05aa16be118f0ed35502e742d51bb40000c642b0ec7d429ed02e9c57622c00775ae5202c2fbe0b8bd327c04f2a3ebb90000d2ec85fdf85c63bf924694e931e5389c5342764499d2f59096bfc9d3d96400bbb003d8c9e6766023fb3b8063ab4e0e59f7e8faa77ca9aee3ff0bd2d1b1a2005d985d9429333aafd8ef3ca6e8c4e1470df01f63edf9298ef71ebacfe275a200b72d2b4b9e4e5ba6bbaf61a0ad4eea6f736bbdc70707a14c8e2a655302fb0f0041791dd45c5ed8f653be143f68ceae374def400eff0f047098b80775e63ff2007595f5d01966d56fb7d99b26b83f87fffb0338f6e7d1fffdc6ec567ad347f700e5f07f5f0087eeb9e0d9fcdf67cc6ead77fef7e6f07f6f00c7de3cfabfd79800ddaa7a91c79e1cfeef09e0d03dbf3d9bffe6e6d5377953a077e7f07f77008700e679f759fddf6dcc6ebde7ffae1cfeef0ae0d89547ff7719b35be74d95df9900c3ff9d011c3bf3e8ff4e6376ebbce9f43b72f8bf2380c3c4fb029df9bfc39800dd4aafafba3d87ffdb0338b4fe77cce1ff7663766bbdd74cb6e5f07f5b0087008967599df9bfcd98dd06effeb73587ff5b03384cfc67efccffadc6ec367bed00ff961cfe6f09e0d89247ffb718b35be9f9bf3987ff9b033836e7d1ffcdc6ec005679ed7f5b0effdb0238daf2e87f9b31bb8dde2b66ad39fc6f0de068cda3ff00adc6ec367bd33a36e5f07f5300c7a63cfabfc998dd2aef59cdc61cfe6f0ce000d8a89523bbff1b8dd92df7feff6fc8e1ff86008e0d79f47f8331bb7575228f00961cfeb70470b4e4d1ff167376bdfbdfba1cfeaf0be0589747ffd719b35be700d5ffb539fc5f1bc0b1368ffe932dfd76cbbd57a7699ea1d882fca7fdc8b146002b4776ffd798b3ebf5ff57e7f07f7500c7ea3cfabfda98dd4a6fcc72550eff00570570accaa3ffab8cd96df4dabf1539fc5f11c061e27dfacefc5f61cc6ead00e7fff21cfe2f0fe0589e47ff971bb3dbe0b57fcd39fc6f0ee030b1364167fe00371bb35be63dff6acae17f530047531efd6f3266b7c2abff8d39fc6f0ce03000b1ce4367fe37825dddf31bf03db04299ef50a50ce270cce57262746f850dcb008ed2e39a39e84383561ffcb94c759df8d0003ed03183c18722a67dfd8b0a03003e7acf6997c9bcc43c9de301fed1fea1c599e3ae93e1049c8313904f6dc07e00dab2cd73a13213be2ed1eb6b12df99a3f3b924c0ee42bd76dbbdab1793423600481f87700dbd24c0daaf6941e58beb6d2c0d380ec38d4a9a12d8bfd4b0cf9d00ad2142b6443d1901758aea8c81f94829f417cb6528940bedc7795fbaafb7a000f560d43645b004bd1f457514e7c89958afa64ee1a3f852e023dd61e0233f9600c95f714e47176558476a65f5e7a0d3ba67743dd3bb16642b0ec7cc50ee31a40017db40f94be9715ddb51e0238571ad36b2350c74b4f6da08485baee844995400682d13fffc911dca97e2b87e1bad03579e5fbeb2aef295297c4510d6c4e295005599c21264b7da805db50ca80e551bb65ba9d84d297613701e68cb76bfc6b500feaa34f38a3c6bf4e6e9f501680d3f6a33c8460a7c19add917b44b7d00b24100fa388457431f607426f862bb826b1356071c87e10a254d09ecaf36ec730d7000a4214eb6c43d6219dcf735d779ef7c572b0c144f81be26a0bcaaa1bc68ff2800d0517b5f0eba114a1e09c807db55cdf53a95cd4f3cefa4c3753b6b02f86af500f29565ab0bb5c047ba2a60d1dd0e328585eef9d8065ea5949da8a73f9161ec001be03d7fa4528e229f5440d99669f627c6dad7e534c4716d57aabba9fcf2950075952fa9f099e81f2558fb7bbed8b2dddf2a804577ffc3807f5e11e23dbe4c00f1a304f697826f959a7d8bb1f6fd8834c4b1cf60a2ff4bf9d3fd7db05206710038e601e53f4150d9517aec37571a2ebb246b5f76c900bb26ee216aff90dab9001ac376ab14bba314bb61fba526ef1f06ee8f49ec0f52bd251ba3c0973106ca007e3494670c6c903e0ee1d741bf744c26f8e2bd0fd7c7ae09380ec3154a9a1200d85f63d8e75ae048439c6c89fbfda3d02f35f13fa4b3fe103e97a80d282fec00cfd1fe14e8a84f5209baa07e691efa7da953edf725603ff269fe8f5296ad2e008c063ed2e1ff2513eda0ca42f71e6c07072be527eaead781ab482f5705ae9700435bb6b6b7087e0b359791585e80d6ad69a85bb366565bfd9a950dd3dad63500b4ae6c591703baee503a628b03610184514fc7e2ca3fdd41d743860b4157a000788dab10f5805fb5c4b4561b013191f95d3a8a4f6299265dc4272bf1294a7c00aa92fe5125feb8127f52893fa5c49f51e2af55e2af57e2cf2af13729f1b72800f1b729f17728f17729f1f728f1f729f1f72bf10f29f18f2af14f28f14f2bf100e795f81794f89795f8d794f83795f87794f8f795f88f94f84f95f82f94f8af0095f8ef94f85f95f83f95f8bf95f87f94f8ff94782ce6c7e9f3160cf6890b46005c7ce262131797b898c445232e775a364b34c362592cd15517cb5e8965aec400b256a23910cb568965aac4b25462192ab1ec541fe62f2b25969112cb46896500a2c4b2506219a82b25db40e62fe3249a54f1975f2ccb3484f9cb2e89e10cb100948158e644dc52455758dc8a445747dca245975cdc76c5df04f1d750dc5ac5002d57dcc2c46d4234d9a28916b711d1ad109fff1807be7f4afe8af2109ff7480033ff1a9ec4fc6b555c9fe29a9cc6fc25bfa633ff131d3399bf54d88dcc5f5a004c2c39269622139fb810cb9489e5cbc4b26662b933b10c9a58ae4e7c4a623e00f397b313cbdc89213831dc283ed72086e5c4d0ce32e60febd4337f284a0c3d0089a909627ac672e64fd3119f1d10d395c4942d316d4d4cdd13d317c5144eb100bcbf98ca2aa6f38a29cd625ab798da2ea6f78b571cc46b1ee25517f1ba8f7800e549bcf6255e7d13afff895720f732ff55d8fdcc7f255abcc22e5e0d17434c0047983f0d400ccd89216a31147a92f9436162a932b13499588a4c2c3d26961a00134b8b89a5c4c4d26162a930b134d883cc5ffa4b2cf52596f6124b7989a5bb00c4525d6269ae4799bff49668e79e607efb2696ce12eddad3cc6fcfc4d257a2001d7b1df3dbaf3730bfdd7a23f3dbab3733bf9d7a2bf3dba7b733bf5d7a27f300dba37733bf1d7a2ff3db9fe798dfee7c80cb0799dfe67c98cb4798dfde7c8c00cbc799dfd67c92f97546b4339fe1f259e6b7319fe3f279e6b72f5fe4f225e600b72d5fe1f255e6b72ba27bf00de6b729dfe2f26de6b727dfe5f23de6b7253f00e0f243e6b7233f66fee32ed186fc8ccbcf99df7efc92cbaf98df76fc86cb6f0099df6efc9ecb1fb8fc91cb9fb8fc99cb5f98df86fc8dcbdfb9fc83f96dc8bf0098df76bcc0fc36e3bfcc6f2b446320da88022e712eddb874e75218cbfc3d8f00b1ccf61a191928e375adad4d6bd7b796b6b694ae6d5bd3ba72fd9a6da55b5600b6ae286dd9dcb4b1794dcb164cbc44deb6fbcaf8c48d1bebb695ae5cd7d8b400b5b4a5adb5b4a5b9b4bea56d5de3264c74b8e0342c9e908907744c5cd7d8d80079ba87643a5a996f4676c6474fc5b1a74e25d1f89ea790684ae214122d3b950044038a4f21d1a0534934fd5412dddfd544ecff937dd038ab2d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +20cd27645f65c15a38720ca984aef936592f3938a705db706d068ad13fc58ae92146f63439ea2a890005e1c9a8a07134e04126c06d79a09c981f49ac701c472200000000000000000000000000000000000000000000000000000000000000011cc15db35c462bf2b8d14998121f5434364db024b7e2bddd0ccd0076cb02dd8801ebc21157ceca1255b54f0a5a4843ef36334372d8e1b0096787a648b464c1af00000000000000000000000000000000000000000000000000000000000048200026000204012700000104804d2600000403260202040126020304001f180003000002804c2d08804c0001240000004524000000b12702000104804d2602020400003a0d00010002270080430400052a0080440000000000000000010000000000000000002b00804500000000000000000000000000000000010000000000000000000000000000000000270080460400402700804704003827008048040004002700804904000e2700804a0400032700804b040100252400001e7a2802000200005189a4170a380102032602040400260206040300380406052c080102001000010501260302040100280202052c0e040500280502052c0e040526020504030000380205042c0d020400280402042c0e04022c0d020400280402042c0e0402002c0d020400280402042c0e04022c0d020400280402042c0e04022c0d02040000280402042c0e04022c0d020400280402042c0e0402260204040023020003000000015d220000019f26020304052c08000500100003002400001ea32c040000002c0d020300280302032c0e030200280202062c0d060526020704020038060700033a0d00030005220000019f28020003007a81a21e0a38010305260203010100260206000626020704012602080000260209040626020a010026020b04022300020005000001dd22000006e12c08010c26020d04040010010d0126030c04010000280c020d1f2c0007804a000d2c0d0c0d00280d020d2c0e0d0c2c08010d0000000102012c0e0c0d2c08010c00000102012c0e040c26020f04102c0800102c000c0d112c0c0c122c0c06130010000f002400001ec52c0400002c0c110e2602001004112c0800112c0c0d122c0c0c132c0c061400100010002400001ec52c040000002c0c120f26021104122c0800122c0c0d132c0c0c140010001100240000001fa52c0400002c0c1310002810020d00380d04112c0d110c1c0c0c0d002b0200001000000000000000000000000000ffffffffffffffffffffffffffffffff00ffffffff0e380d101123020011000002df24000020202c08010d260210040300001001100126030d040100280d02102c0c10112c0e0e1100281102112c0e0f00112c08010e26020f04070010010f0126030e040100280e020f2c0c0f102c0e00081000281002102c0e081000281002102c0e081000281002102c0e08100028001002102c0e081000281002102c0e08102c08010f00000102012c0e0e0f2c0800010e260210040a001001100126030e040100280e02102c0c10112c0e08110000281102112c0e081100281102112c0e031100281102112c0e08110028110211002c0e081100281102112c0e031100281102112c0e081100281102112c0e08110000281102112c0e03112c08011000000102012c0e0e102b02000e00083e791100d835097629f0067531fc15cafd79a89beecb39903f69572c636f4a5a2b02000011001a7f5efaad7f315c25a918f30cc8d7333fccab7ad7c90f14de81bcc52800f9935d2b02001200054aa86a73cb8a34525e5bbed6e43ba1198e860f5f395000268f71df4591bde4022b02001300209dcfbf2cfb57f9f6046f44d71ac6faf8007254afc7407c04eb621a6287cac1262c0801142602150407001001150126030014040100281402152c0c15162c0e0e1600281602162c0e111600281602162c000e0a1600281602162c0e121600281602162c0e131600281602162c0e0a162c000c040522000004c10c38050b0e2302000e00001c1822000004d32c0d0f052600020d000226021104060d3080480011001223020012000004f624000020322d0004000580032700800404000724000020442d088005000e00280e02110128000011804800122c0e0d1226020d04060d308043000d001123020011000005392400000020322d04000e80032700800404000724000020442d088005000500280500020d0128000d804300112c0e08112c0e050f2c0d100d2b02000e002df8b94000e5890e4e1377e05373fae69a1d754f6935e6a780b666947431f2cdcd2602110004090c3809111223020012000005a624000020322d04000d8003270080040400000a24000020442d088005000f00280f021100381109122c0e0e122b02000d00002ecd88d15967bc53b885912e0d16866154acb6aac2d3f85e27ca7eefb2c100908326020e040726021204090c380e1213230200130000060d24000020322d0004000f80032700800404000a24000020442d08800500110028110212003812000e132c0e0d1326020d040826020f04090c380d0f12230200120000064f2400000020322d04001180032700800404000a24000020442d088005000e00280e02000f00380f0d122c0e0a122c0e0e102c08010d26020f04040010010f0126030d00040100280e020f26021004090028050211260212040600280d021342f7000f0000110013001000280d020e00380e040f2c0d0f05370c000c0005002802020d002c0d0d0c26020e040200380d0e053a0d0005000c22000006e128020005003200b6bd200a3801050c2302000c000006fc22000008052c08010526020c0403000010010c012603050401002805020c1f3c0007000b000c2c0d050c00280c020c002c0e0c052c08010c00000102012c0e050c2c08010500000102012c0e04052600020e040f2c08000f2c0c0c102c0c05110010000e0024000020d22c0400002c000c100d00280d020f00380f04102c0d100e26020f04102c0800102c0c0c112c000c05120010000f0024000020d22c0400002c0c110d00280d020c00380c040f002c0d0f051c0c050c002b02000d00000000000000000000000000ffffffffff00ffffffffffffffffffffffffffffff0e380c0d0f2302000f000007e1240000002020370c0005000e002802020d2c0d0d0c26020e040200380d0e053a0d000500000c220000080528020005008a4870ec0a3801050c2302000c000008202200000008b02c08010526020c04020010010c012603050401002805020c1f3c0007000007000c2c0d050c00280c020c2c0e0c052c08010c00000102012c0e050c2c0008010500000102012c0e040526020e040f2c08000f2c0c0c102c0c05112c0c0006120010000e00240000214d2c0400002c0c100d3302000d002802020d2c0d000d0c26020e040200380d0e053a0d0005000c22000008b02802000500cd8c9a007a0a3801050c2302000c000008cb22000009d32c08010526020c0402001001000c012603050401002805020c1f3c00070007000c2c0d050c00280c020c2c0e000c052c08010c00000102012c0e050c2c08010500000102012c0e040526020e00040f2c08000f2c0c0c102c0c05110010000e00240000222d2c0400002c0c10000d26020c040e2c08000e2c0c0d0f0010000c0024000022a82c0400002c0c0f00051e02000c060a380c050d2302000d0000096f26020e04003b09010e1c0c05000c0026020d040126020f040300380d0f0e2c0801050010010e01260305040100002805020e2c0e0d0e00280e020e2c0e0d0e26020e04030038050e0d2c0c0d000e2c0e0c0e002805020e2c0d0e0d26020f040200380e0f0c3a0d000c000d2200000009d32802000500f99f5a2d0a3801050c260205026f26020d026526020e00022026020f0272260210026c26021102772302000c00000a0c2200000cf62c0008011226021304020010011301260312040100281202131f3c000700070013002c0d121300281302132c0e13122c08011300000102012c0e12132c0801120000000102012c0e041226021504162c0800162c0c13172c0c12182c0c0619001000001500240000214d2c0400002c0c1714260213040126021604030038131615002c0801120010011501260312040100281202152c0e131500281502152c0e130015260215040300381215132c0c13152c0e141500281202152c0d15142602160004020038151613360d00130014260212000a2602130014260214001e260216000403260218040300381618172c080115001001170126031504010028150217002c0e161700281702172c0e1617260217040300381517162c0c16172c0e12170000281702172c0e131700281702172c0e141700281502142c0d14132602160400020038141612360d0012001326021202642602130248260214022c2602150200212c080116260217040e0010011701260316040100281602172c0c17182c0e00131800281802182c0e0d1800281802182c0e101800281802182c0e10180028001802182c0e051800281802182c0e141800281802182c0e0e1800281802182c000e111800281802182c0e051800281802182c0e0f1800281802182c0e10180000281802182c0e121800281802182c0e15182c080112260213040e00100113010026031204010028120213260214040d00381413142c0c13150c38151417160c0017172302001700000c342c0e081500281502152200000c152c0801130000010002012c0e1213260212040d2c0c040c2200000c4f0c380c1214230200140000001b9b2200000c612c0d130c260215040d062815021326021704030038151716002c0801140010011601260314040100281402162c0e151600281602162c0e1500162602170403003814171600280c02172d04001780032d04001680042d04000015800524000022d400281402162c0d16152602170402003816170c360d000c00001500280202142c0d14122602150402003814150c3a0d000c00122200000c00f62802000c0097b974f70a38010c122302001200000d11220000158c2c0801001226021304070010011301260312040100281202131f3c0007000900132c0d00121300281302132c0e13122c08011300000102012c0e12132c0801120000010002012c0e041226021504162c0800162c0c13172c0c1218001000150024000000231a2c0400002c0c1714002814021600381604172c0d17152c0d13142c0d12001626021804060c381618192302001900000da8240000203200281402180038001816192c0d191700381607180e381618192302001900000dcd24000023952600021a04060c38181a1b2302001b00000de42400002032002814021a00381a18001b2c0d1b190038160b180e3816181a2302001a00000e0924000023952c0e1400132c0e18121c0c1714051c0c140b001c0c1916051c0c16140026021704182c000800182c0c13192c0c121a2c0c061b001000170024000023a72c0400002c0c00191626021804192c0800192c0c131a2c0c121b2c0c061c00100018002400000023a72c0400002c0c1a17260219041a2c08001a2c0c131b2c0c121c001000190000240000231a2c0400002c0c1b18002818021300381304192c0d19121c0c120013002b02001800000000000000000000000000ffffffffffffffffffffffff00ffffffffffffffff0e381318192302001900000ee024000020202c0801130000000102012c0e0a132c08011800000102012c0e08182c08011900000102012600021a007f2c0e1a192c08011a000001020126021c041d2c08001d2c0c151e000010001c0024000024872c0400002c0c1e1b2c0d1b1500281502152c0e151b05002800148044001500380b1514260215041c2c08001c2c0c141d00100015002400000024872c0400002c0c1d0b2c0d0b1400281402142c0e140b26021402002600021502bc26021c026a26021d029b26021e02d32c08011f260220044500100100200126031f040100281f02202c0c20212c0e152100282102212c0e1c210028002102212c0e1d2100282102212c0e1e2100282102212c0e142100282102212c000e142100282102212c0e142100282102212c0e142100282102212c0e14210000282102212c0e142100282102212c0e142100282102212c0e14210028210221002c0e142100282102212c0e142100282102212c0e142100282102212c0e14210000282102212c0e142100282102212c0e142100282102212c0e14210028210200212c0e142100282102212c0e142100282102212c0e142100282102212c0e14002100282102212c0e142100282102212c0e142100282102212c0e14210028210002212c0e142100282102212c0e142100282102212c0e142100282102212c0e00142100282102212c0e142100282102212c0e142100282102212c0e14210028002102212c0e142100282102212c0e142100282102212c0e142100282102212c000e142100282102212c0e142100282102212c0e142100282102212c0e14210000282102212c0e142100282102212c0e142100282102212c0e14210028210221002c0e142100282102212c0e142100282102212c0e142100282102212c0e14210000282102212c0e142100282102212c0e142100282102212c0e14210028210200212c0e142100282102212c0e142100282102212c0e142100282102212c0e14002100282102212c0e142100282102212c0e142100282102212c0e14210028210002212c0e142100282102212c0e142100282102212c0e142100282102212c0e00142100282102212c0e142100282102212c0e142100282102212c0e14210028002102212c0e142100282102212c0e142100282102212c0e142100282102212c000e14212c0e1f1a260214042026021504242c0c040c22000012250c380c141c002302001c00001a9022000012372c0d1a0b2802000c045be0cd19280200140400bb67ae8528020015043c6ef3722802001a04a54ff53a2802001b04510e527f002802001c049b05688c2802001d041f83d9ab2802001e046a09e6672c08011f002602200409001001200126031f040100281f02202c0c20212c0e1e210028210002212c0e142100282102212c0e152100282102212c0e1a2100282102212c0e001b2100282102212c0e1c2100282102212c0e1d2100282102212c0e0c212c0800010c00000102012c0e1f0c2c0801140000010201260215044426021c04202c000800202c0c0b212c0c15222c0c04230010001c0024000024cd2c0400002c0c00211a2c0c221b2c0d1a1c00281c021c2c0e1c1a2c0e1b140b28001b8046001c002302001c0000134e220000138e2c08011b26021c04090010011c0126031b04000100281a021c00281f021d00281b021e3f3f001e001d001c2c0d1b1a00281a00021a2c0e1a1b2c0e1b0c220000138e26021c041d2c08001d2c0c0b1e2c0c15001f2d08804600200010001c0024000024cd2c0400002c0c1e1a2c0c1f1b2c0d001a0b00280b020b2c0e0b1a2c0e1b140b28001b8046000b2302000b000013e10022000013ea2c0e041422000013ea2c0d140b26021b008626021d041e2c0800001e2c0c1a1f2c0c0b202c0c0b212c0c1b220010001d0024000027bb2c040000002c0c1f1c2c0d1c1a00281a021a2c0e1a1c00380b071a0e380b1a1b2302001b000000144224000023952c0e1a142c0d1c0b00280b020b2c0e0b1c0d30804700001a000b2302000b0000146822000014b02c0d0c0b2c08011a26021b0409001000011b0126031a040100281c021b00280b021d00281a021e3f3f001e001d001b002c0d1a0b00280b020b2c0e0b1a2c0e1a0c2c0e041422000014b02c0d140b2600021a041d2c08001d2c0c1c1e2c0c0b1f2c0c15200010001a0024000028d32c000400002c0c1e142c0d140b00280b020b2c0e0b142c0d0c0b260215041a2c0800001a2c0c141b2c0c0b1c00100015002400002d972c0400002c0c1b0c2c0d0c000b00280b020b2c0e0b0c260214041a2c08001a2c0c0c1b0010001400240000002fbf2c0400002c0c1b0b26020c041a2c08001a2c0c131b2c0c181c2c0c191d002c0c0b1e2c0c161f2c0c12202c0c17210010000c00240000312e2c0400000000280202122c0d120c2602130402003812130b3a0d000b000c220000158c280200000b009756f6200a38010b0c2302000c000015a7220000174d2c08010b2602000c04050010010c0126030b040100280b020c1f2c00078048000c2c0d0b0c0000280c020c2c0e0c0b2c08010c00000102012c0e0b0c2c08010b00000102012c000e040b26021304142c0800142c0c0c152c0c0b162c0c06170010001300240000003db02c0400002c0c151226021404152c0800152c0c0c162c0c0b172c0c06001800100014002400003db02c0400002c0c161326021504162c0800162c0c0c00172c0c0b1800100015002400003e902c0400002c0c171400281402160038160004172c0d17151c0c1514002b02001600000000000000000000000000ffffff00ffffffffffffffffffffffffffffffffff0e3814161723020017000016a924000000202026021604172c0800172c0c0c182c0c0b192c0c061a0010001600240000003db02c0400002c0c18142c08010b00000102012c0e0a0b2c08010c0000000102012c0e080c2c0801080000010201260216004a2c0e160826021604172c000800172c0c0b182c0c0c192c0c081a2c0c121b2c0c131c2c0c151d2c0c141e000010001600240000312e2c040000002802020c2c0d0c0b260212040200380c0012083a0d0008000b220000174d2802000800eb2b616b0a3801080b2302000b0000001768220000195c2c0801012602080407001001080126030104010028010002081f3c0007000900082c0d010700280702072c0e07012c0801070000010200012c0e01072c08010100000102012c0e040126020904122c0800122c0c0713002c0c01142c0c0615001000090024000023a72c0400002c0c130826020b0412002c0800122c0c07132c0c01142c0c06150010000b0024000023a72c0400002c000c130926020c04122c0800122c0c07132c0c01142c0c06150010000c002400000023a72c0400002c0c130b26021204132c0800132c0c07142c0c0115001000001200240000231a2c0400002c0c140c26021304142c0800142c0c0c1500100000130024000022a82c0400002c0c151226021304142c0800142c0c07152c0c0100162c0c0617001000130024000023a72c0400002c0c150c26021404152c080000152c0c07162c0c01172c0c0618001000140024000023a72c0400002c0c1613001e020001030a3801080623020006000018cb2400003f0b1e020001040a380100090623020006000018e22400003f1d1e020001050a38010b062302000600000018f92400003f2f1e020001060a3801120623020006000019102400003f411e00020001080a38010c0623020006000019272400003f531e020001070a3801130006230200060000193e2400003f6500280202072c0d070626020804020038070008013a0d00010006220000195c260201026e2602020274260206026326020700026b260208027326020902552c08010b26020c04110010010c0126030b04010000280b020c2c0c0c122c0e091200281202122c0e011200281202122c0e07120000281202122c0e011200281202122c0e051200281202122c0e11120028120200122c0e011200281202122c0e0e1200281202122c0e081200281202122c0e0d001200281202122c0e101200281202122c0e0d1200281202122c0e06120028120002122c0e021200281202122c0e051200281202122c0e0f120a380a0301230200000100001a8f26020204122c080105260206041200100106012c0c0506290300000605e58f985907316290002806020600280b020726020804102d0400078000032d04000680042d040008800524000022d4260207041000380607062c0e04000600280602063b0d0502252c0d1a1c0128000c8048001d0e380c1d1e230200001e00001aae240000239526021f04200c380c1f202302002000001ac524000000203200281b021f00381f0c202c0d201e26022004440c381d2021230200210000001aea24000020322d04001c80032700800404004524000020442d08800500001f00281f02200038201d212c0e1e2100380c151c0e380c1c1d2302001d0000001b27240000239526021e04200c380c1e202302002000001b3e24000020320000280b021e00381e0c202c0d201d26022004440c381c20212302002100001b630024000020322d04001f80032700800404004524000020442d088005001e0028001e02200038201c212c0e1d212c0e1e1a00380c071c2c0c1c0c22000012252c000d1314260217040d0c380c17182302001800001bb624000020320028160217000038170c182c0d18151c0c151700260218040d0c380c18192302001900001b00e024000020322d04001480032700800404000e24000020442d08800500150000281502180038180c192c0e17192c0e151300380c07142c0c140c2200000c4f002c0d0f0e26021204020c380512132302001300001c33240000203200280d02001200381205132c0d13111c0c1113051c0c13120002381112130928001380440000151c0c1516051c0c161300023815131609280016804400150528001380440000160038161213053080450015001200381312160a38111612230200120000001c9f26021704003b0901170438050b1126021604060c38111617230200170000001cbb24000020322d04000e80032700800404000724000020442d088005000012002812021600381611172c0e1317003811070e26021304060c380e1316230002001600001cfd24000020322d04001280032700800404000724000020442d00088005001100281102130038130e162c0e15162c0e110f2c0d100e0528000500804a001126021304060c381113152302001500001d4a240000203200281402001300381311152c0d1512003811071326021604060c38131617230200170000001d742400002032002814021600381613172c0d17150038110b162602180406000c381618192302001900001d9e2400002032002814021800381816192c0d19001726021804090c381118192302001900001dc324000020322d04000e8003270000800404000a24000020442d0880050016002816021800381811192c0e12190026021104090c381311122302001200001e0024000020322d0400168003270000800404000a24000020442d088005000e00280e021100381113122c0e151200003813071126021304090c381113152302001500001e4224000020322d04000e0080032700800404000a24000020442d0880050012002812021300381311152c000e17152c0e1210003805070e2c0c0e0522000004c1270080040478000d00000000800480032300800300001ea22901000105f7a1f3afa5add4ca3b01010225002400001e7a1e020001011e020002000a380102032302000300001ec4240000003f77252400001e7a26020604072c0800072c0c01082c0c02090010000600240000001fa52c0400002c0c080526020100060a38030102260201040000280502000700380701082c0d08062302000200001f972200001f1726020100080a38030001022302000200001f522200001f2e260201001b0a38030102230200020000001f4926020504003b0901052c0c06042200001fa01c0c0601002b0200020000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000e380102032302000300001f8e24000020202c0c06042200001fa02c0c0604002200001fa02c0c0401252400001e7a2c0d01032c0d020426020604030c38040006072302000700001fc92400002032002803020600380604072c0d07052c0800010626020704020010010701260306040100280602072c0c07082c0e050826000205040100380405070e38040708230200080000201324000023952c0e0301002c0e07022c0c06012529010001055a02e41bb51ea99f3b01010225290100010005e89d09fea1112d0e3b010102252d01800380060b0080060002800723008000070000205f220000206a2d008003800522000020d12d000001800501000001008004000101008003800480092d008003800a2d008005800b0b00800a800980000c2300800c000020bd2d01800a80082d028008800b0100800a0002800a010000800b0002800b220000208c27018005040001030080060002800622000020d100252400001e7a2c0d01032c0d020426020604020c380406072302000700002000f62400002032002803020600380604072c0d07052c0801062602070402001000010701260306040100280602072c0c07082c0e050826020504010038040507000e38040708230200080000214024000023952c0e03012c0e07022c0c060125002400001e7a26020604072c0800072c0c01082c0c0209001000060024000022002d2c0400002c0c080526020100060a38030102260201040000280502070038000701082c0d0806230200020000221f220000219f26020100080a380301022300020002000021da22000021b6260201001b0a3803010223020002000021d12600020504003b0901052c0c060422000022281c0c0601002b0200020000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e3801000203230200030000221624000020202c0c060422000022282c0c06042200000022282c0c0401252400001e7a2c0d01032c0d020426020604010c380406072300020007000022512400002032002803020600380604072c0d07052c0801062600020704020010010701260306040100280602072c0c07082c0e050826020504000100380405070e38040708230200080000229b24000023952c0e03012c0e0700022c0c0601252400001e7a2602020400002801020400380402052c0d05031c000c0302051c0c0201001c0c0102052c0c02012501008003800580072d0080030080082d00800480090b0080088007800a2300800a000023192d01800880062d0002800680090100800800028008010080090002800922000022e8252400001e007a2c0d01032c0d020426020604060c38040607230200070000233e240000200032002803020600380604072c0d07052c0801062602070402001001070126030006040100280602072c0c07082c0e0508260205040100380405070e3804070800230200080000238824000023952c0e03012c0e07022c0c06012529010001050045a7ca711941e4153b010102252400001e7a26020604072c0800072c0c0108002c0c02090010000600240000231a2c0400002c0c080526020100060a38030100022602010400002805020700380701082c0d080623020002000024792200000023f926020100080a3803010223020002000024342200002410260201001b0a0038030102230200020000242b26020504003b0901052c0c060422000024821c000c0601002b02000200000000000000000000000000ffffffffffffffffffff00ffffffffffffffffffff0e38010203230200030000247024000020202c0c06000422000024822c0c060422000024822c0c0401252400001e7a26020301002c00080102260204042100100104012603020401002802020426020504204303b0000001804b0005000300042c0d020100280102012c0e01022c0c020125240000001e7a26020504002c080106260207041100100107012603060401002806020700260208041000380807082c0c07090c3809080a160c0a0a2302000a0000251c002c0e0509002809020922000024fd2c08010700000102012c0e06070128000300804600060e38030608230200080000254324000023950c3802060823020008000000256022000025552d088046000422000025a40c38020308230200080000002592220000257202380203080e3803020923020009000025892400003f892c000c0806220000259b2c0c0506220000259b2c0c060422000025a40728000480004800022c08010600000102012c0e02062602090404063804090a04380a090b000238040b080a380805092602080401230200090000260422000025e40038020008090e3802090a2302000a000025fb24000023952c0e090622000026042c0d000609260206020026020a02012c0c0502220000261b0c3802090b2302000b0000002636220000262d2c0d07012c0c0402252c08010c00000102012c0e050c05002800028048000d26020f04000b28000f8048000e2302000e0000267a072800000d804800110a38110210230200100000267a2400003f9b2c0c050b2200002600830d28000b8048000e2302000e000026ef22000026982c0d070b2c0d0c0d2600020e04100c38020e0f2302000f000026b724000020322d04000b8003270080000404001124000020442d088005000c00280c020e00380e020f2c0e0d0f00380002080b2c0e0c072c0c0b02220000261b00380d0b0f0e380d0f1023020010000000270624000023950c380f0410230200100000272122000027182c0c060e2200000027660038030f100e38031011230200110000273824000023952602110400440c38101112230200120000274f2400002032002801021100381110122c0d00120f2c0c0f0e22000027662c0d0c0f26021104122c0800122c0c0f132c0c0a001400100011002400003fad2c0400002c0c13101c0c0e0f040038100f0e0e3800100e1123020011000027a924000023952c0e0e0c00380b080e2c0c0e0b2200000026832400001e7a2c0d010600280602062c0e060107280002804800062602000704100c3806070823020008000027ec240000203200280102070038070608002c0d080226020700650a380407082602070280230200080000286122000028001626020800860a38040809230200090000283126020a04003b09010a2602080004092c0800092c0c020a2c0c030b2c0c070c001000080024000040342c040000002c0c0a042c0c0405220000289126020804092c0800092c0c020a2c0c030b002c0c070c001000080024000040342c0400002c0c0a042c0c040522000028910026020304100c3806030423020004000028a824000020322d0400018003270000800404001124000020442d0880050002002802020300380306042c0e05042c000c0201252400001e7a2c0d010400280402042c0e04012c0801040000010201002c0e01042c08010500000102012c0e020526020704040638020708043808070009023802090626020704000a380607082302000800002a3f220000292a07280000028048000803308048000600090f2800068048000a2302000a0000294f240000003f8926020a04100c38080a0b2302000b00002966240000203200280102000a00380a080b2c0d0b061c0c090b021c0c0b0a041c0c0a0b0226020a02080400380a0b0c26020e02000a380e0b0d2302000d000029b606380c0b100a38100a000f2302000f000029b62400003f9b1a38060c0a26020c040d2c08000d2c0c0a000e2c0c0b0f0010000c002400003fad2c0400002c0c0e0626020b04100c3808000b0c2302000c000029f524000020322d0400018003270080040400112400000020442d088005000a00280a020b00380b080c2c0e060c2c0e0a040038020901000e380201062302000600002a3624000023952c0e01052200002a3f2c0d050200072800028048000526020204012c0c05012200002a590d28000180490005230002000500002d442200002a6e2602050408043805030626020904000a38090300082302000800002aa1063806030b0a380b050a2302000a00002aa12400003f009b1c0c06030026020601002c08010526020804090010010801260305040100002805020826020904084303b00003804b00090006000826020304022602060200012c0c07012200002ae80c380103072302000700002aff2200002afa2c0d04000125052800018048000726020904000b280009804800082302000800002b3600072800078048000b0a380b010a2302000a00002b362400003f9b2c0d04080100308049000100090f3080490009000a2302000a00002b57240000239526020b0004080c38070b0c2302000c00002b6e2400002032002805020b00380b070c2c000d0c0a003807020b0e38070b0c2302000c00002b93240000239526020d0408000c380b0d0e2302000e00002baa2400002032002805020d00380d0b0e2c0d0e000c003807030b0e38070b0d2302000d00002bcf240000239526020e04080c38000b0e0f2302000f00002be62400002032002805020e00380e0b0f2c0d0f0d0100280007804a000b0e38070b0e2302000e00002c0e240000239526020e04080c00380b0e0f2302000f00002c252400002032002805020e00380e0b0f2c0d0f07001c0c0a0b0426020e040f2c08000f2c0c0b102c0c06110010000e002400003f00ad2c0400002c0c100a1c0c0c0b0400380a0b0c0e380a0c0e2302000e00002c0077240000239526020b040e2c08000e2c0c0c0f2c0c06100010000b00240000003fad2c0400002c0c0f0a1c0c0d0b0400380a0b0c0e380a0c0d2302000d0000002cb6240000239526020b040d2c08000d2c0c0c0e2c0c060f0010000b00240000003fad2c0400002c0c0e0a1c0c070b0400380a0b070e380a070c2302000c0000002cf5240000239526020b04100c38090b0c2302000c00002d0c2400002032002d04000880032700800404001124000020442d088005000a00280a020b0038000b090c2c0e070c2c0e0a0400380102072c0c07012200002ae82c0d04052602000804100c380108092302000900002d5f24000020322d0400058003270080040004001124000020442d0880050006002806020800380801092c0e07090038010002052c0e06042c0c05012200002a592400001e7a2c0d020400280402042c0e0004022c080104000001020126020502002c080106260207042100100107012600030604010028060207260208042000380807082c0c07090c3809080a160c0a000a2302000a00002dfc2c0e050900280902092200002ddd2c0801050000010200012c0e06052c080106260207040900100107012603060401002801020700280002020800280602093f3f0009000800072c0d060100280102012c0e01062c0e0006042602010400260202040126020604082c0c01032200002e5c0c38030607002302000700002e732200002e6e2c0d0501252c0d040826020a04080c38030a000b2302000b00002e8e2400002032002808020a00380a030b2c0d0b091c0c0900080026020a01002c08010926020b04050010010b012603090401002809020b0026020c04044303b00008804b000c000a000b053080480003000826020b0400000a380b030a2302000a00002f04063808030d0b28000d8048000c2302000c0000002f042400003f9b2c0c01072200002f0d0d2800078048000a2302000a0000002f302200002f2200380302072c0c07032200002e5c2c0d050a003808070b0e0038080b0c2302000c00002f4b240000239526020d04040c38070d0e2302000e0000002f622400002032002809020d00380d070e2c0d0e0c26020e04200c380b000e0f2302000f00002f8724000020322d04000a8003270080040400212400000020442d088005000d00280d020e00380e0b0f2c0e0c0f2c0e0d05003807020a002c0c0a072200002f0d2400001e7a2c080103000001020126020400012c0e0400032c080104000001020126020500002c0e05042c08010600000102012c0e0500062602050401260207041e260208040f2702000900010026020a04002c0c0a000222000030190c3802080a2302000a00003067220000302b2c0d060200280100020700380708092c0d09051c0c0501002c0d0305043801050300380203012c000e01062c0d0402043802050300380103022c0c0201252c0d060a023807020b000e3802070c2302000c000030822400003f8926020d04200c380b0d0e230200000e000030992400002032002801020d00380d0b0e2c0d0e0c1c0c0c0b002c0d00030c04380b0c0d00380a0d0b2c0e0b0604380c090a2c0e0a032c0d040b03300080490002000c0f2800028049000d2302000d000030e82400003f8926020e0400200c380c0e0f2302000f000030ff2400002032002801020e00380e0c0f2c0d000f0d1c0c0d0c0004380c0a0d00380b0d0a2c0e0a04003802050a2c0c0a022200000030192400001e7a26020900142c08010a26020b04030010010b0126030a00040100280a020b2c0c0b0c2c0e090c00280c020c2c0e050c2a02000900000000000000000002000000000000000026020f04102c0800102c0c09110010000f000024000041442c0400002c0c110b2c0c120c2c0c130d2c0c140e2c0d0b090000280902092c0e090b2c08010900000102012c0e0b092c0d0c0b00280b020b2c000e0b0c2c08010b00000102012c0e0c0b2c08010c00000102012c0e0d0c2c0800010d00000102012c0e0e0d26020e040126020f040026021004022c0c0f082200000032070c380810012302000100003d40220000321926020304102c080010002c0c09112c0c0b122c0c0c132c0c0d14001000030024000041eb2c0400002c000c11021e020003031e020008001e0200090426020a02002c08010b26020c0400e10010010c0126030b040100280b020c26020d04e000380d0c0d2c0c0c100c0038100d11160c1111230200110000329d2c0e0a100028100210220000327e2c0008010a00000102012c0e0b0a26020c04102c0800102c0c06110010000c002400000024872c0400002c0c110b2c0d0b0600280602062c0e060b26020c04102c000800102c0c03110010000c0024000024872c0400002c0c11062c0d06030028000302032c0e030626020c04102c0800102c0c08110010000c0024000024872c000400002c0c11032c0d030800280802082c0e080326020c04102c0800102c0c0009110010000c0024000024872c0400002c0c11082c0d080900280902092c0e00090826020c04102c0800102c0c04110010000c0024000024872c0400002c0c0011092c0d090400280402042c0e040926020c04102c0800102c0c0211001000000c0024000024872c0400002c0c11042c0d040200280202022c0e020426020c0004102c0800102c0c07110010000c0024000024872c0400002c0c11022c0d02000c00280c020c2c0e0c0226020c04a026020d0480260210042026021104c02600021204602c0c0f0122000034000c3801101323020013000039ef2200003412002c0d0a022c080103260204041100100104012603030401002803020426020600041000380604062c0c04080c38080609160c0909230200090000345b2c0e0f00080028080208220000343c2c08010400000102012c0e030428020003049b0500688c28020006043c6ef37228020008045be0cd192802000904510e527f280200000a04bb67ae852802000b041f83d9ab2802000c04a54ff53a2802000d046a0009e6672c08011026021204090010011201260310040100281002122c0c1213002c0e0d1300281302132c0e0a1300281302132c0e061300281302132c0e0c130000281302132c0e091300281302132c0e031300281302132c0e0b130028130200132c0e08132c08010300000102012c0e10032c08010600000102012c0e0f060026020804e02c0c0f0122000035370d280001804a000923020009000038d122000000354c26020a04122c0800122c0c02132c0c08142c0c11150010000a0024000000426f2c0400002c0c13012c0c14092c0d010200280202022c0e02012c0e0001042c0e09060b2800098046000223020002000035a122000035aa2c0e0f060022000035aa2c0d0602260209006526020b04102c0800102c0c01112c0c0212002c0c02132c0c09140010000b0024000027bb2c0400002c0c110a2c0d0a010000280102012c0e010a2c0e0a040038020e010e3802010923020009000036062400000023952c0e01062c0d0a0200280202022c0e020a0d3080470001000223020000020000362c22000036742c0d03012c0801022602090409001001090126030002040100280a0209002801020b002802020c3f3f000c000b00092c0d02010000280102012c0e01022c0e02032c0e0f0622000036742c0d060226020904102c000800102c0c0a112c0c02122c0c0813001000090024000028d32c0400002c0c0011062c0d060200280202022c0e02062c0e06042c0d030226020404102c080000102c0c06112c0c021200100004002400002d972c0400002c0c11032c0d03020000280202022c0e020326020404102c0800102c0c031100100004002400002f00bf2c0400002c0c110226020300052c0801042602060404001001060126030400040100280402062c0c06082c0e030800280802082c0e020800280802082c0e0005082c0d040300280302032c0e03042a02000300000000000000000300000000000000000026020a04102c0800102c0c03110010000a0024000041442c040000002c0c11052c0c12062c0c13082c0c14092c0d050300280302032c0e03052c0008010300000102012c0e05032c0d060500280502052c0e05062c0801050000000102012c0e06052c08010600000102012c0e08062c08010800000102012c0e0009082c0c0f0122000037de0d280001804a000923020009000038612200003700f326020404092c0800092c0c030a2c0c050b2c0c060c2c0c080d00100004000024000041eb2c0400002c0c0a011e0200030032380001000300042602030100000a380403052302000500003842240000455d3438000200070003260202010100230200030000385c240000456f3302000125230200090000386e22000038c30026020a04030c38010a0b2302000b000038852400002032002804020a00380a00010b2c0d0b0926020a040f2c08000f2c0c03102c0c05112c0c06122c0c0813002c0c09140010000a0024000045812c04000022000038c30038010e092c0c09000122000037de053080460001000926020b04000a380b010a2302000a0000390005063809010d0b28000d8046000c2302000c000039052400003f9b26020c0400122c0800122c0c02132c0c08142c0c09150010000c00240000426f2c040000002c0c130a2c0c140b2c0d0a0c00280c020c2c0e0c0a0c3809080c2302000c000000394f22000039652c0d0a0900280902092c0e090a2c0e0a042200003965230002000c00003972220000397b2c0e0b06220000397b2c0d06090b280009804600000a04380c0a09230200090000399922000039e12c0d04092c0d030a2c0801000b26020c04090010010c0126030b0401002809020c00280a020d00280b0210003f3f0010000d000c2c0d0b0900280902092c0e090b2c0e0b0322000039e1000038010e092c0c090122000035372c0d0a1326021504200c38011516230200160000003a0a240000203200280b021500381501162c0d161426021604e00c38010016172302001700003a2f24000020322d0400138003270080040400e12400000020442d0880050015002815021600381601172c0e141700380110130e38011300142302001400003a6c240000239526021604200c380116172302001700003a00832400002032002806021600381601172c0d171426021704e00c38131718230002001800003aa824000020322d0400158003270080040400e124000020442d000880050016002816021700381713182c0e141801280001804600130e38011300142302001400003ae8240000239526021504200c380115172302001700003a00ff2400002032002803021500381501172c0d171426021704e00c38131718230002001800003b2424000020322d0400168003270080040400e124000020442d000880050015002815021700381713182c0e141800380112130e38011314230200001400003b61240000239526021604200c380116172302001700003b78240000002032002808021600381601172c0d171426021704e00c38131718230200180000003b9d24000020322d0400158003270080040400e124000020442d088005000016002816021700381713182c0e14180038010d130e38011314230200140000003bda240000239526021504200c380115172302001700003bf1240000203200002809021500381501172c0d171426021704e00c381317182302001800003c001624000020322d0400168003270080040400e124000020442d088005001500002815021700381713182c0e14180038010c130e380113142302001400003c5300240000239526021604200c380116172302001700003c6a240000203200280400021600381601172c0d171426021704e00c381317182302001800003c8f2400000020322d0400158003270080040400e124000020442d088005001600281602001700381713182c0e141800380111130e380113142302001400003ccc24000000239526021504200c380115172302001700003ce3240000203200280202150000381501172c0d171426021704e00c381317182302001800003d082400002032002d0400168003270080040400e124000020442d088005001500281502170038001713182c0e14182c0e150a0038010e132c0c13012200003400230200010000003d4d2200003da226020204020c380802032302000300003d6424000020320000280a020200380208032c0d030126020204112c0800112c0c09122c0c0b132c000c0c142c0c0d152c0c0116001000020024000045812c0400002200003da2000038080e012c0c010822000032072400001e7a26020604072c0800072c0c0108002c0c020900100006002400003e902c0400002c0c080526020100060a38030100022602010400002805020700380701082c0d08062302000200003e82220000003e0226020100080a380301022302000200003e3d2200003e19260201001b0a00380301022302000200003e3426020504003b0901052c0c06042200003e8b1c000c0601002b02000200000000000000000000000000ffffffffffffffffffff00ffffffffffffffffffff0e380102032302000300003e7924000020202c0c0600042200003e8b2c0c06042200003e8b2c0c0401252400001e7a2c0d01032c0d00020426020604040c380406072302000700003eb4240000203200280302060000380604072c0d07052c0801062602070402001001070126030604010028060200072c0c07082c0e0508260205040100380405070e380407082302000800003e00fe24000023952c0e03012c0e07022c0c0601252901000105be11c73bbb04a400fc3b0101022529010001057425c86e086b03c13b010102252901000105e3b100cb17b4b196ae3b010102252901000105203960faa7b733883b0101022529010000010597178cf85aace5563b0101022529010001053b7ee0a2f674688e3b0100010225290100010565a49ce5d4594d753b010102252901000105288692b04700dcfd433b010102252901000105646188a8c6cf94cb3b010102252400001e7a0026020404000a3801040523020005000040262200003fc9260204020804380400020526020702000a380702062302000600003ffc06380502090a38090408230002000800003ffc2400003f9b183801050226020102200c38050104260201010001230200040000401d24000046b02c0c0203220000402f2c0c040322000040002f2c0c0301252400001e7a26020504040638020506043806050702380207040003308048000400020f28000480480005230200050000406a2400003f891c0c000206021c0c0605041c0c0502022602050208043805020626020802000a380800020723020007000040ac063806020a0a380a050923020009000040ac240000003f9b1a3801060526020604072c0800072c0c05082c0c02090010000600240000003fad2c0400002c0c08011c0c0302040330804a000400030f280004804a00000523020005000040f62400003f891c0c0305021c0c0504041c0c0403022602000504062c0800062c0c02072c0c030800100005002400003fad2c0400002c0c00070400380104020e38010203230200030000413f24000023952c0c020125240000001e7a26020200002c0801032602040404001001040126030304010028030002042c0c04052c0e020500280502052c0e020500280502052c0e02052c0d03000400280402042c0e04032c0801042602050405001001050126030404010028000402052c0c05062c0e020600280602062c0e020600280602062c0e02060028000602062c0e0106260201040026020201002c0c02052c0c01062c0c04022c0c0005042c0c03012c0c0603252400001e7a2c0d040526020601000a3805060723000200070000420f26020804003b09010826020504062c0800062c0c01072c0c0002082c0c03092c0c040a001000050024000046c22c0400002c0d01052c0d0200062c0d03072c0e05012c0e06022c0e070326020101012c0e0104260201040000002806020300380301042c0d04022c0c0201252400001e7a26020504002c08000106260207041100100107012603060401002806020726020804100038080700082c0c07090c3809080a160c0a0a2302000a000042be2c0e0509002809020900220000429f2c08010700000102012c0e060701280003804600060e380306080023020008000042e524000023950c38020608230200080000430222000042f7002d088046000422000043460c38020308230200080000433422000043140238000203080e38030209230200090000432b2400003f892c0c0806220000433d2c000c0506220000433d2c0c0604220000434607280004804800022c0801060000000102012c0e02062602090404063804090a04380a090b0238040b080a3808050009260208040123020009000043a6220000438600380208090e3802090a230200000a0000439d24000023952c0e090622000043a62c0d060926020602002602000a02012c0c050222000043bd0c3802090b2302000b000043d822000043cf2c000d07012c0c0402252c08010c00000102012c0e050c052800028048000d2602000f04000b28000f8048000e2302000e0000441c0728000d804800110a3811020010230200100000441c2400003f9b2c0c050b22000044250d28000b8048000e002302000e00004491220000443a2c0d070b2c0d0c0d26020e04100c38020e0f002302000f0000445924000020322d04000b8003270080040400112400002044002d088005000c00280c020e00380e020f2c0e0d0f003802080b2c0e0c072c0c000b0222000043bd00380d0b0f0e380d0f1023020010000044a824000023950c00380f041023020010000044c322000044ba2c0c060e22000045080038030f10000e3803101123020011000044da240000239526021104e00c381011122302000012000044f12400002032002801021100381110122c0d120f2c0c0f0e2200000045082c0d0c0f26021104122c0800122c0c0f132c0c0a140010001100240000003fad2c0400002c0c13101c0c0e0f040038100f0e0e38100e1123020011000000454b24000023952c0e0e0c00380b080e2c0c0e0b220000442529010001056100be47556b1380913b010102252901000105b87a3944b3b13c563b01010225240000001e7a2c0d03062c0d040726020801000a3807080923020009000045a92600020a04003b09010a0b280006804a00072602060401230200070000463c2200000045c32c0d01072c0d02082c0d03092c0d040a26020c04030c38090c0d230200000d000045ea24000020322d04000780032700800404000424000020442d08008005000b00280b020c00380c090d2c0e050d00380906050e3809050723020000070000462724000023952c0e0b012c0e08022c0e05032c0e0a0422000046af0026020704082c0800082c0c01092c0c020a2c0c030b2c0c040c00100007002400000046c22c0400002c0d01072c0d02082c0d040926020a04002d0400078003002700800404000424000020442d088005000b00280b020c00380c0a0d2c0e05000d2c0e0b012c0e08022c0e06032c0e090422000046af252901000105c96f93003b139de9163b010102252400001e7a260206040026020704012c0c06052200000046da0d280005804a0006230200060000474522000046ef2c0d01052c0d0200062c0d03072c0d04082c08010926020a04050010010a01260309040100280600020a26020b0404002809020c3e0f000a000c2c0d090600280602062c0e0609002c0e05012c0e09022c0e07032c0e0804252c0d03060c38050608003805070600230200080000476022000048112c0d01082c0d02092c0d030a2c0d040b2602000d04040c38050d0e2302000e000047872400002032002809020d00380d050e002c0d0e0c26020e04030c38050e0f2302000f000047ac240000203200280802000e00380e050f2c0d0f0d00380c0d0e26020d04040c38050d0f2302000f00000047d624000020322d04000980032700800404000524000020442d088005000c0000280c020d00380d050f2c0e0e0f2c0e08012c0e0c022c0e0a032c0e0b042200000048112c0c060522000046da2d0018ca18ca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/yarn-project/protocol-contracts/fixtures/PrivateFunctionBroadcastedEventData.hex b/yarn-project/protocol-contracts/fixtures/PrivateFunctionBroadcastedEventData.hex index d0c70439023e..41a60fbefada 100644 --- a/yarn-project/protocol-contracts/fixtures/PrivateFunctionBroadcastedEventData.hex +++ b/yarn-project/protocol-contracts/fixtures/PrivateFunctionBroadcastedEventData.hex @@ -1 +1 @@ -000000001b70e95fde0b70adc30496b90a327af6a5e383e028e7a43211a07bcd23ced3716a04d81b58822bc3e1843626aa2884888b1a2d2250e79fb7d41a365e16ad977a85a570bedc6785d159f137035d3bf9891042ee3af20488686aec168b049fe6a55fa21b718224c0f6e69887dd82e302b6b658c9db0a389672582a343d00a5215d923c08e46ef8298acff37a856da61be92fe1536dd7b4e10cfec9590c233d10e0c959338e062b1c76fb81e17fcf61643da568eac372bb7feac8bfa35717720805123feb41cde00457a83a9919a315c55d6117267f05edefe119df9a7a1a0ca5eecb1430479902264f04e557160a4666fb42bb8b283c6397e3d17ac9372a6595890719fef7967c209488728aa5342438ba52058a3c770202f55acf685400000000000000000000000000000000000000000000000000000000000000050aa8c40de16e14b1d7789457012932df51eab8d07d3506a2bf3c0dd0d03cab1503b075046b71ff5f8e0792de4b82ddc979fcb3b8c03abe12972e65c57759fb461d1c34ad4b418b30c4c8b87939b97bc03d94d24d469d3cb2f419ffe6bd93f96c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000d9e0e7f11eef7f2eaafa09e24b0475a918bd7388c4dec305145849f5f84d1b822202b944000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018cb001f8b08000000000000ffe59d057814471bc7f73609108a954285da4129dac2005d04922aee4e71bd241708924012dc823b454b71eaeeeeeeded29642dddd5d00bfff1b769b61d9a4d0cca4f93fdf3ecfefb9bdbdbddddf3b333b33b7b73b1b00b0f64d7b6dcbbadede371f0031ceab2c0a7a96b9afea7caccfb20a3edfade200b3ac9acfb21a3ecb6afa2c3b0ab4f22c3bd167bda0cfb2ba3ecbeaf92c6be0002c53a780f3daca794d0cb5484a8ab64c888613c39150426a5a4a72282939ad00454a38259c9c929c91909298184d494a69999a96da32941a4e4a8c8633935300133343fba62e76d1b642a59a12d24d7a76fdf79e49de05e256db293baeaba400c39fce7c43ab68be9132dfd559c7fd5e37bcef0e7a809e76d172778af1a44100a87453b8b1c66d75b3f5e54d2f6d65c83f6f7a2979d35d99efa1ccf7f4e44d006fbcef03fa82737cf2c6d69c370d3496f57efad233acd627b2dd205ee394b400f54e01cde912b0f4960dd7b18633df1f310d0003c12030180c0143c130301c008c00234104a481749001a2b69318314a8130991843351e283ebabab69da0a60045a6f366946deddf3ac9077f7896c94ade52a5bb161caaa1e68a663a93c65a007094a1ccd55d53e98c79b4b2ad704a624242cb44592f2523144eca484f48490048c8484b0aa58722e909d1d4a4706a66524252627a467a1ab619096786322300e9a99929fbbce440747b73de49f78138dad65f2bc994651b14ceb2f56f778c00c6c2602aee314a75a469bbbeae3a2a8031b6feed8ed55c58ddca5ab65bd62d00e008c216709cf366bcb7051ce7d3028e2f83167084c616709cc60a603c490b00a833e66cd21630db500b98631b14ce31d0024e28e72da0c43d81a4051cefb800eadeee44432de0c4ffa0054c236c01739d3779de1630d7a705cc2b8316304d00630b98abb102c823690175c69c4fda02e61b6a0127d90685271968012797f3001650e29e4cd202e639aebab73bc5500b38e53f6801a3842de054e7cd346f0b0038d5a7059c56062d6054630b38556305308da405d419f374d21670baa1167000866d50788681167066396f0125ee99242de034c755f77667196a0167292d6000591d78830d1d78b36d83c2b30d1c7873caf9812771cf3170e09565611b62a800b015d806850b0c14b6b9e5bcb049dc73496af951ce81a1bb5ba6b342986773001eb0c30c1db0f36d83c2f30d1cb00bcaf9012b712f206f1d861b2a6c0b6d8300c20b0d14b645e5bcb049dc8b485a87f1ce81a1bb75d059212cb6cda661a8740053616f659e81df514bca79dc52c6171b887b29696f60a4a10a7a996d50789900810a7a7939afa025eee5e4bd8188a1c2b6c23628bcc240615b59ce0b9bc4bd0092a43790e71c18ba7b033a2b8455e5bc5594567ba98156f1dc721eb794f1550006e25e4dda1b48375441afb10d0aaf315041af2de715b4c4bd96bc379061a800b0adb30d0aaf3350d8d697f3c22671af27e90d4c730e0cddbd019d15c2867200de2a4aabbdda40ab785e398f5bcaf80603716fd41cb73be9f63c5f9b6762920049cf4dffde33c3bb40dcbc37844b3ab8377e0f56e68728f39becfd6f08df8c00f75bc056b0cd367fb3bec6db41c39b35d66ddb0d9575dde9a7f15fb0f0168d00e9b78324fd34feb113deaa31fd766aee547aeb86ed4a1db04399dfa9cc6ff300d40d17e0fd85e022707119d40d1a6f940b5fa0316f2e2129db1acf89872fd400987e9792a49fc6d3bce18b34a6df6586eb864b943ae05265fe3265fe624fdd007039de5f01ae04579541dda0f116a2f0e51af3e66a92b2adf10c59f80a8de900770d49fa693ce913be5263fa5d6bb86eb85aa903ae51e6af55e6aff2d40dd700d9fb06afbb01dc58067583c69b2bc2d769cc9b9b0ce7cd4d4a1e5cafccdfa000ccdfe8c99b9bf1fe16702bb8cdde7f7b6a9ee83867b2d1c03989db35e6b5a5004cba3defd0e6194ef3cbfb3b943ceeafcc0fb28b1f98ef4ebcbf0bdc0dee290083e37280c6bcba53e37179afe1e3f25e250fee52e6ef56e6eff1e4cd7d787f003f78003ce89337bacbe743ff3e0d120f260dd4f2395099bf4f997fc893060f00e3fd23e051f05819a4c1e3faca41a69f5fa8745358eaeadb0dd4a14f182eff008f2b79fc8432ff700979ff24de3f059e06cfd8ff3c306569d320a0319f9e3400d487d59defcfeaf3ccf0cbf76795fc95fc72e77b9790efcfe1fdf3e005f0e20041e47ba874537890c676e4398df95e967f600fd07cfcbbd34bb641e1976cfd00dbdda5b130988a7b975d94c09ab66bf487b2baadd2a6e9008df9f332e9c1fa00b2a183f515dba0f02b060ed657cbf9c12a71bf6ae860d5dd13d8e5b8ea6e5d0077d9e533bfe3aca25e49719326ef44d94f8c67dbbacb5a434b7f63a0dbb11100816363038e8543264841ab601d38e90e40e3cf18238306252727256646232d004da641ef32faf9152add14ee47e2196b95ef32e54e6a65bedb79f39aed2488003b8e897c10f408e86ef5766b6ca9f6d87a2b07371df6f8a483ee82f39aa10200ae3bbff668ccafbd86f26bef41945b1dbd605dee4dacb2c9fbf274deaf294900ccb6c6984f2189394663cca792c4acb1e10e372ba39843a59bc2cd35a61f4b00473264717886493c13483c13493c93483c93493c5b9078b624f14c21f14c2500f13c8dc4f37412cf33483ccf24f13c8bc4f36c12cf56249ead493cdb9078b60025f16c47e2d99ec4b30389674712cf4e249e9d493cbb90787625f1ec46e2d9009dc4b30789674f12cf5e249ebd493cfb9078f625f13c87c4b31f89677f12cf0001249e03493c0791780e26f11c42e23994c4731889e77012cf11249e23493c0023249e69249ee9249e19249e5112cf4c12cf51249ea3493cb3483cc790788e0025f11c47e2399ec4339bc43387c4730289e74412cf5c12cf3c12cf7c12cf4900249e93493ca790784e25f19c46e2399dc4730689e74c12cf59249eb3493ce7009078169078ce25f19c47e2399fc4730189e74212cf45249e8b493c9790782e0025f15c46e2b99cc4730589e74a12cf55249ee79278ae26f15c43e2b996c473001d89e77a12cf0d249ee791786e24f13c9fc4731389e76612cf2d249e5b493c00b791786e27f1dc41e2b993c4f30212cf0b493c2f22f1bc98c4f31212cf4b49003c2f23f1bc9cc4f30a12cf2b493caf22f1bc9ac4f31a12cf6b493caf23f1bc009ec4f30612cf1b493c6f22f1bc99c4f31612cf5b493c6f23f1bc9dc4f30e1200cf3b493cef22f1bc9bc4f31e12cf7b493cef23f1bc9fc4f30112cf07493c1f0022f17c98c4f31112cf47493c1f23f17c9cc4f30912cf27493c9f22f17c9ac400f31912cf67493c9f23f17c9ec4f30512cf17493c5f22f1dc45e2f93289e72b00249eaf9278ee26f17c8dc4730f89e75e12cfd7493cdf20f17c93c4f32d12cf00b7493cdf21f17c97c4f33d12cff70d79da1ecff2f42cee0fca28e650e9a6f000871ad34f7d8e7da89493c9f2f891c5e1f93189e727249e9f92787e46e2f9390089e717249e5f92787e45e2f93589e737249edf92787e47e2f93d89e70f249e003f9278fe44e2f93389e72f249ebf9278fe46e2f93b89e71f249e7f9278fe4500e2291b64f00c9078da249e31249eb1249e71249e15483c2b92785622f18c2700f1ac4ce2791889671512cfaa249ed5483cab9378d620f13c9cc4b32689e71100249eb50c7996e7eb026aff1fc67ce4ff61cc47911c8347074a9f7ea991b4f40050383962d2f318923214ab31e63a243137d718f3b124c7cd71659437a1d24d00e1e303faf2b99fcd11f3091a63de4d724ddb8924c74d90c4b32e89673d12cf0093483ceb93789e4ce2d980c4b32189672312cfc6249e4d483c9b92789e42e200792a89673312cfe6249e2112cf3089670289672289671289673289670b12cf0096249e29249ea9249ea791789e4ee2790689e799249e6791789e4de2d98ac400b33589671b12cfb6249eed483cdb93787620f1ec48e2d989c4b3338967171200cfae249edd483cbb9378f620f1ec49e2d98bc4b33789671f12cfbe249ee7900078f623f1ec4fe23980c4732089e72012cfc1249e43483c8792780e23f11c4e00e23982c47324896784c4338dc4339dc43383c4334ae29949e2398ac473348900671689e71812cfb1249ee3483cc79378669378e690784e20f19c48e2994be2009947e2994fe23989c4733289e71412cfa9249ed3483ca79378ce20f19c49e200398bc4733689e71c12cf0212cfb9249ef3483ce793782e20f15c48e2b988c400733189e71212cfa5249ecb483c979378ae20f15c49e2b98ac4f35c12cfd524009e6b483cd79278ae23f15c4fe2b981c4f33c12cf8d249ee793786e22f1dc4c00e2b985c4732b89e73612cfed249e3b483c7792785e40e2792189e745249e170093785e42e2792989e765249e9793785e41e2792589e755249e5793785e43e200792d89e775249ed79378de40e2792389e74d249e379378de42e2792b89e76d00249eb79378de41e2792789e75d249e779378de43e2792f89e77d249ef79378003e40e2f92089e743249e0f93783e42e2f92889e763249e8f93783e41e2f9a400214fdbe359dae73036d018f353651473a87453f8e980bef4db6b7394c76748008e9b67493c9f23f17c9ec4f30512cf17493c5f22f1dc45e2f93289e72b249e00af9278ee26f17c8dc4730f89e75e12cfd7493cdf20f17c93c4f32d12cfb749003cdf21f17c97c4f33d12cff7493c3f20f1fc90c4f32312cf8f493c3f21f1fc0094c4f33312cfcf493cbf20f1fc92c4f32b12cfaf493cbf21f1fc96c4f33b1200cfef493c7f20f1fc91c4f32712cf9f493c7f21f1fc95c4f33712cfdf493cff0020f1fc93c4f32f124f8be4fa900089a74de21943e2194be21947e25981c4b3002289672512cf7812cfca249e8791785621f1ac4ae2598dc4b33a89670d12cf00c3493c6b92781e41e2598bc4b33689e791249e4791781e4de2790c89671d1200cf63493c8f23f13c9ec4f30412cf13493c83249e75493ceb91789e44e2599f00c4f36412cf06249e0d493c1b19f2b43d9ea5bd0f3a4e63cc8d4962aea031e60026243157d418735392982b698cf9149298e335c67c2a49cc9535c6dc8c24e600c334c6dc9c24e62a1a630e91c45c5563cc619298ab698c398124e6ea1a634e002489b986c6989348623e5c63ccc92431d7d418730b92988fd018734b92986b00698c398524e6da1a634e2589f9488d319f4612f3511a633e9d24e6a335c67c000649ccc7688cf94c9298eb688cf92c92988fd518f3d924311fa731e6562431001faf31e6d624319fa031e63624319fa831e6b624310735c6dc8e24e6ba1a63006e4f12733d8d31772089f9248d31772489b9bec6983b91c47cb2c6983b6b8c0039d6da774d40d009b809680a4e01a78266a0b9ec07844182a4054802c9a00500680952402a380d9c0ece006782b3c0d94eecad411bd016b403ed4107d0117400029d4117d0157403dd410fd013f402bd411fd0179c03fa81fe60001808068100c16008180a8681e16004180922200da4830c1005996014180db2c01830168c0003e34136c80113c044900bf2403e9804268329602a9806a683196026980566008339a000cc05f3c07cb0002c048bc062b0042c05cbc072b002ac04abc0b96000355803d68275603dd800ce031bc1f96013d80cb680ad601bd80e76809de002007021b8085c0c2e019782cbc0e5e00a7025b80a5c0dae01d782ebc0f5e006700023b809dc0c6e01b782dbc0ede00e7027b80bdc0dee01f782fbc0fde001f0200078083c0c1e018f82c7c0e3e009f024780a3c0d9e01cf82e7c0f3e005f022780009ec022f8357c0ab6037780dec017bc1ebe00df026780bbc0dde01ef82f7c000fbe003f021f8087c0c3e019f82cfc0e7e00bf025f80a7c0dbe01df82efc0f700e007f023f809fc0c7e01bf82dfc0efe00ff027f80bc8411600368801b1200e005400154125100f2a83c3401550155403d5410d7038a8098e00b5406d702438000a1c0d8e0175c0b1e038703c38019c0882a02ea8074e02f5c1c9a00168081a0081c6a009680a4e01a78266a0390881304800892009248316a0254801a9e03400703a38039c09ce0267cbbdf0a0356803da8276a03de8003a824ea033e802ba00826ea03be8017a825ea037e803fa8273403fd01f0c0003c12030180c0143c10030301c8c00234104a481749001a220138c02a341161803c68271603cc80639006002980872411ec80793c06430054c05d3c0743003cc04b3c06c30071480b900601e980f1680856011580c9680a56019580e56809560153817ac066bc05ab0000eac071bc0796023381f6c029bc116b0156c03dbc10eb013c8b3ede5b9f1f2004c7679deb93c4b5c9ed32dcfc096e74bcbb39be5b9c8f2cc61799eaf3c2b57009e432bcf7895e7a7cab349e5b99ff24c4d795ea53c0b529eb328cf3094e70300cab3f7e4b976f2cc38791e9b3ceb4c9e2326cfe8ba1fc8b3a5e4b94df24c240079de903ccb479e9323cfa091e7bbc8b353e4b924f29c0e7906863c13429eb70020cf3290e704c818fc32bebd8c1d2fe3b2cb98e7329eb88cd52de360cb18d300327eb38c8d2ce30ecb98be325eae8c45fb36903154657c5219fb53c6d59431002b653c48196b51c63194310265fc3d19db4ec68d9331d964bc33194b4cc6e9009231b0647c2919bb49c645923187643c1f192b47c6a191315e64fc14199b4400c6fd90313564bc0a190b423a143286818c0f20f7decb7ded72cfb8dc8f2df7003acb7dc4728faedcff2af796ca7d9b724fa4dc6f28f7f2c97d72720f9adcdf0025f74ec97d4972cf8fdc4f23f7aac87d20728f85dcbf20f706c875f7724dbb005c2f2ed7624bfb2ed710cbf5b972edab5c572ad76ccaf59072ada15cc727d700b5c9755e72dd935c0724d7c5c8752272dd845c4720ffabcbffccf2bfabfc0f0029ffcbc9ff54f2bf8dfc8f21e7f5e53cb79cf795f3a0725e50ce93159e370200725e417e67cbef4ef91d26bf4ba49f2efd56e9c749bfc6de57555ad22f91a90089553439c968c5389fcb357d728d9b5cf325d740c93541728d8c5c3322d75000c83505f21fbbfce72cffc1ca7f92f21f9dfc6725ffe1c87f1a728e5fce79cb00396039272ae708e59c999c4392732a728e417e7307415d500f489f5dfab0d200a793e7d334048d4063ebc0a9b2325f4b993fce798de4e747c74fc80fe6e70400231919c12959f9a3833993a3b999e372a45b51d87f70a77ace6be7ecacfcac00c8b8ace991fcac9cece0e848dee860464e342f989d931f1c1fc94f97ce4c6100cfc29d42de6f46736577b9d1bcbc60d6beefe58f8e06d373b2f37323e9f9c1008ce8847139d3a2d2d929ec8d1caaf5aa43fc4ec0c90dcb494d77aae6bcf6cd008fa48fc53773601695aab8b0cf2453b3835a7b89f349eb435abbb3b2f631ee0016727323d38259d919d1a9c19c49f9c19ccc605acea4ec8c3cf58b7d0e31fc00c2922c935b82e29d57f757887b44b472de874a3785e395edeade7e4a28392900deda7fd2ec9f186f15d506a6d247b6196366fb8557a9cad4b6a068fb6a2cee007eab3aef034a5abadf911aaf86f21d751b96e3ebfdaefbb9c9f852424949f100d6feb5b8def40b175e2d26534cc181e9e77e165be09f9e32c515ecefe5a6a7007b944b0bd1ce59a786f2797d653bdef40e9441dacac56d01cffe2c6bff74f600c65cd9327bac043cfb737dbce9e3ce5771d257a651d1fcb64e9bd3393b2f3f00929d1e554350375bc327443509fcd6f1aee75dbfaacfe7aea67422dc6aac620041d1e73aab0177bf959cedc7594559e9eeb370b9336f7bd657e703cef7d56500272971c914af7ccfdd4f8cb2ccdd6775e77d05e5b3f8827fde56accfb66af800ac5fc1b3ad8a3edb5297b9714b67af8e33afe64facb23d5df9d332a5287fdc003452f3479d6295cfd5f51b39ef6b5afe93c4e076cdb89bfca49665d5e41b6a00920d3759fe4dbe37164b59e6aee7fd8eac5752b7c064d7c87cd35e94cf15cc006c3fc14db73825ed627d6272f75fd53ab0790b14f36a59fe4db1bbafca96d100321c2e2936d5df2d1b353cebab69f05fe6839a3e6a3ec874b05dbe38cf67c50075f9ea28eb15d70d97f54e76e6a5ebd2d1d996a5a4954cacfd84fa4acc85f10028df63ed271cebcc4b1b2bf9d7d42ada5671e5ceafbb5add3ab06e88f36ccb00afeb1be7b32df7a4944c1370d6a175eea849e3a3d9f979de0eabba03cb674300eacedde5c53528deefc42aebab134387aab9f3bea40e557f679ebc43955656001daa8a66b6dfc2dd7e2533dbf7ed50a9b1b8fb758f8976054569d9ae607f2700779d0eca3a1d8a5947adfc3b2aeba8c75f27659d4e9e754aeabcf99d5768e700f94cad6cda7b3e538fa50e9ecfd40aa9a3e7b30ad681be927eee196bb7d2ea005cb07f2cea675d94cf5cff2394effcdd2859fbae0a50f75fb168f7079c473100547e120fb6f3e6eebfb265f478f9bbf356c9e3e34d1fbff328e99171e37ae500664d8ee4473b4cca4e97bf05d410d4cdda3e2116d7cca8c5c2bb9eb798faf50091633defe33cefddedabfb29eefbde65aa8f3b5fdd677945cf3adeecf62ef300f68d2bfaeccfef100e14f3eaeec7fa87fdf83997749af150f763fa94760d8f00abbaafea3efbf6a6ab5f1faaa4df2c157df663f8b769b25f55ea4edeaad4af00bca8cedee3d0f2c4af4e6a4c721cb755b6eb5dcfebe3f75b2ac613875fb98800b1ac62fbbdea36fcba9cee7cbccf7e747631fc9a2f6ffc251dbf6ad372a8f900f1f76f28ebd0f2434d23ef71ae1ed3debf80bcdd589918baec6d9cf72575d900d52e815f5d11f07ca6a693b77e3354d6fe3e5fe19635371dbc3e71cae7eafa005dfe211d02d681c75849f5a0d7475ddffbfb5426bfdfb1153c9f9594aeffc500392bbfe3c11b7705ebd0f2a1aff35a5c3ef8b563eab924ef7ed463b1929266003255b68ca45942bcb24f03db0f55b40e9cd40b590ef37ce6a6955fbd1028e600bded792d69dd4009dbadeaf399faf3c3bb2cdef35a4bd99e89d303b5cd6cdf00378fd40b8c6a7be254d3b9952607777beeb1e9d72fb23d9fa9e75455bf807e00bfb0d725c6675feea49615f7f3ff018d8be2fd060d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +0abf338154e355442d9916d630da0491036d5a7b23c42b477c1395ba3bf9b42d270cb4f1fb717d14d3eb66bb6e6072c708e46d19d9d7ad2aad0756ee67f101503049fd9d18d6a3e6f07206670af0861939fb59708f11c4bddd4019aad0b7f2ea01bb3b34c9349b23ac39d039e544844c573e5610c8888080c4c4e906254d8c7a124ac28b575def2e243406b17fa9f0925bf1118986880d83a9b745459bc8f3a1233d10e0c959338e062b1c76fb81e17fcf61643da568eac372bb7feac8bfa3570861b8c908d4acade859229678fac5c86ce12b5fa26c04ceef065df68e74b1181a0ca5eecb1430479902264f04e557160a4666fb42bb8b283c6397e3d17ac9372a6595890719fef7967c209488728aa5342438ba52058a3c770202f55acf685400000000000000000000000000000000000000000000000000000000000000050a3e92c5ed495ea48c51f5a0382513a803cc73b357a6771bbc41530ae4c4bc3d03b075046b71ff5f8e0792de4b82ddc979fcb3b8c03abe12972e65c57759fb462cee63a8ffb1c63b886b7dba5ae1677fc71d848a6fb52e8156dfa49136faaec800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000d9e0e7f11eef7f2eaafa09e24b0475a918bd7388c4dec305145849f5f84d1b822202b9441dec445c8fa1078b7dce9b3ccf5de0be2245124caabca925bb78b32f1937accf00000000000000000000000000000000000000000000000000000000000055fc001f8b08000000000000ffeddd05745b67c2706b87390e3333c7761c66666666006666680a699b32738a4953a694999b5298999919efd68cfd55759d76662a7700baef3f5a6b2fcb967cfcbc47872cd94789c2fe7919161e16563dfc9fd713510092988f89a9409cafc57e0cbe9e2c9efba589e76be9e2f95a783c5fcb18cfd700b2519d385fcb1fcffd0ac4f3b582f17cad503c5f2b1ef3b5e04ba2988f7562003e5688a8141d3db072d4c0c80a917d23a2aaf6ab523122ba62bf4a5522ab440056ac52714054950a15065689ae52b96abfaa9523aa464657181839a862d50a008322fe79599ffe976945fca94b54ff84746ef8cf9dd171bf10b065a2a441d600c07cb81273bd44d82fd74b065ddf10739fd8efdbc8e79b68336d49ffcbd763002f49e2cc83883f77892c15c2696d4c1fbac7666bc896a1f81f9bad418fcda600a0eb9b83ae6f89f3d86ce3f3edb48376c6f3d8240ef163533c84cbfaaed0cd00cfc8e0ed4960ba05e2ccdbb89744219e2f89c242bb6cc41a33c45cdfcd98f600d05eda47fbe9001da44374988ed0513a46c7e9049da453e9636646f2a00522002167c6c110ae28f1704335eda8e079713afd3f3f9e491ff6ebbd53e086cb7100be16b853dca52ad45bc18321d8720d1cf4cfcbe9106e05cf84f0c10d2c942900c2feb535f4cfba83e74164950a5151952b04ee5765404464f480fe5155a2a20006f48b8ee81fd1b77fd4c0aad191550745474557e83fa07f3fa6d9377250c400a0befdab0eaaf2cf69057bcfa64f407060e27137e17f167f36849bdd73215c00b0126a1e9e4bffdbe9fed979782ec45bb8508ffbcc35c6fd67a77b3ec4874000b11bd4f331cbf95fb9973a22dc4b5d88d9d85c8cbb97ba10cf5eeae25fb097003a12c2bdd485106e4c2e4af7521712682f75297d02822f25c05eea5208f7520097ffe67ba97facbc09b097bafc37df4b5dbcc6b8ffec74af24d05eeaca7f61002f755cb897ba1abbb1090ffbf51ee96a3c7ba9c09d127a2f753c847ba9aba100dc98843bf7525713682f95283c01c18189877a2f9528740f6064e2f0bff75e002a300f1387877e2f9538fcefbd970aaca4f18dfbcf4e374978c2eca59284ff00f57ba953c2bd54d2988d4db2b87ba9c00d71f752c9fe82bdd4a910eea59286007063924cba970a9e07a1dc4b250f4f4070f204d84b250fe15e2ac5df7c2f150098872912602f95e26fbe974a768d71ffd9e9a64ca0bd54caf0dfee99426d4f0015327b64bff85eb00d4c3ff685d9dd412fd2ee4b7fed17d353f33d69282da5000b4ff817d3f784f07994d4215cf7d38778b98afbd8a40f7a6cd2045d4f1b74003d5df8af1f9b703ecf401929533c8f4da897cfccfff93ca8f0afcc83e0e573006fd032191ef4f5cc71e641163ecf4ad928fb5f300f72846c39a8109d90ce9c00ffb97340c4bff058e5087a4cf6073d560782aee78cf358e5e2f3dc9487f2fe0005db9210bef41b992b84db927c21de3727d4fc3b14c2f9973b84f32fbf64fe001d0ee1fccb13c2f9572081f765f982b60df983ae1708ba9e37ceb6a1209f1700a2c254e42fd83684f005b7c882217c6c8a4a96eda3219c7f854238ff8a49e600dfb110cebfc2219c7fc51378db5034681b502ce87af1a0eb45e26c1b4af07900492a45a5ff826d43085fe6882c11c2c7a68c64d93e11c265bb6408e75f59c900fc3b19c2f9572a84f3af5c026f1bca046d03ca065d2f1774bd749c6d43793e008fa0488afa0bb60d217c7239b27c081f9b0a09fcd854087a0c2282ae47065d008f8af3d844f37945aa4495ff82dfcdab846e1e0c8a6f1e54091a6b74d0f52c00bff3fc44553eaf16f38f533562e641d298fbfe157fe85f3584cb45f0f39f3500635e54a815f7d5a8c00d73e27cad56ccd7822fa15e31ab867065aaf9af4fab00ff1f4c2bb256885f8d4a1c16ff4ba461ffe6fcfc237758022e943543bcb18a00bdd48ebb30d6fe175e060de5c2f207d6c83fb83da2760817e23ae1215b187e00f54a489d7f6165feb3f65a219c0fa19ca775ff8d79fa473f2b789ed60dda6800a60c9a9fc1f334e2cf5d22affcfef4a2fa0f8aac507160e58a1195fa46571c0050a942d480a8ca1103a22b0e8a041c55359a5933a87f74950155a22a0c8aaa001cd5ff4a687dff58c662376cb13b92d8bd6aad98ebf5f8589f1a84ffb57f2f00d220817e7308f163fcabbf176918b3876e1477a318b821eedf8b34fa17369400117feef2ab99f867ff5ea4610857ea4621de43ff557f2f123c0f42f9f7228d00c313101c9878a8ff5ea471087f276b12c2052ba1e66193f0d0ffbd4893106f00e1423dee46d718f79f9d6ed3101f8ac66e509b86ff76cf14eaa3a450be3e57002f84cb7db3ffd20635e2cf5d229b85785988bd340f4f4070f3f0d04fb74502006f0423fedce51fe36e11fecb0c0ed1747ff749dd3f3b1f42f96270fd103e3e002da52b6bcb045a595b852720b85502acacadffe62b6b60dcadffe29535e2cf005d7eb5378cf87397906e4cdb8478a14f15f378b709fa5dbb7ed0f516e1bf3c00537d28e82fbb0e075d8ffdb7edb6dcb71db58ff99ed869d7bbc6b41b054dfb008feed3818f1da95378c2ac9b2d6296d1501f5d76fe9b1f5527d4b8bb8470fd00090bba240eb1b35108d7cdae211e73dcb146fcb94b6460fd0ce5e31258273b0027c0b2d32d819e6b0bf5b2733184ff58dbfd6fbeec04b6fd217c9a2c32b0ae00744b8065a74788979d50cfc7c03213ca638bc072d32301e663a2b08459074300edec19ba793920be57fc7b061d8b049685d8ebdbd25ffb15ff5e7cde9bfa5000dff0843fc5e1be106e877a497f190ce17f0dfdea97c17ee10908ee9700bf0c00f6ff9bff321818777fd9333709b5a0fe59d700e9ca1a4a77b07760780282070026c0ca3ae86fbeb206c63d288156d6501f09f48fb1867aefda3ffceff978070056d8c0862e71d8b52f217257887d5d2bf812ea65ad4458e87706a136961418004b2580f1fffe683559d86f2fa11e4042fdea11162267c58ad115060dec5b390021e7c1b6043a3d4da89dbb24ce24a19bd6affe087a70ccce7148dc3fb10adc005020ecd79750ef990687706f32343cb42b70ec7c181acf7c08f5833b24c48700c1c9c2fe9ac3e084ded0857c811b1ac2056e58022d70c3fe8515efeff4fb6000e9b0845908423de6102eac916524634e1cc23197958c39847bcac8727fd1980023fedc25b27c08e79fe5c82d22cce18c9438a324ce0a1267b4c45951e2ac240071569638ab489c5525ce6a12677589b386c45953e2ac2571d69638eb489c750025ce7a12677d89b381c4d950e26c24713696389b489c4d25ce6612677389b30085c4d952e26c2571b69638db489c6d25ce7612677b89b383c4d951e2ec247100769638bb489c5d25ce6e12677789b387c4d953e2ec2571f69638fb489c7d2500ce7e12677f897380c43950e21c24710e963887489c4325ce6112e77089738400c43952e21c25718e9638c7489c6325ce7112e778897382c43951e29c24714e009638a7489c5325ce6912e774897386c43953e29c2571ce9638e7489cd7499c007325ceeb25ce1b24ce1b25ce9b24ce7912e7cd12e72d12e7ad12e77c89f3360089f37689f30e89f34e89f32e89f36e89f31e89f35e89f33e89f37e89f3018900f34189f32189f36189f31189f35189f33189f37189f309897381c4f9a4c4f90094c4f9b4c4f98cc4f9acc4f99cc4b950e25c24713e2f712e96385f90385f9400385f92385f96385f91385f95385f93385f9738df9038df9438df923897489c006f4b9cef489cef4a9cef499cef4b9c1f489c1f4a9c1f499c1f4b9c9f489c9f004a9c9f499c9f4b9c5f489c5f4a9c5f499c5f4b9cdf489cdf4a9cdf499c4b2500ceef25ce1f24ce1f25ce9f24ce9f25ce6512e772897385c4b952e25c2571ae009638d7489c6b25ce7512e77a897383c4b951e2dc24716e9638b7489c5b25ce006d12e776897387c4b953e2dc9540cec4719c7fa7f7a5defd178d39e2cf5d2200f78470fe0d0d772c8f7bc31cce7d12e77e89f380c47950e23c24711e96388f00489c4725ce6312e77189f384c47952e23c25719e9638cf489c6725ce7312e7007989f382c47951e2bc24715e9638af489c5725cec0040dce4412676289338900c49954e24c267126973853489c2925ce5412676a89338dc49956e24c2771a6009738c325ce0c126746893393c49959e2cc9240cebff3df0564fd7f70ccd92400cb63f6447f7efe55eddbaf7f4464c5be09f9d82409e198734896c7f2211c73004ec9f298eb2f7a6c22fedc253277a2d03dcebbd23bc69c2784631e2cf9bba900bc92f5269fc4995fe22c20711694380b499c8525ce2212675189b398c4595c00e22c21719694384b499ca525ce3212675989b39cc4595ee28c90382325ce280089b382c4192d715694382b499c9525ce2a12675589b39ac4595de2ac2171d60094386b499cb525ce3a12675d89b39ec4595fe26c20713694381b499c8d25ce002612675389b399c4d95ce26c2171b694385b499cad25ce3612675b89b39dc400d95ee2ec20717694383b499c9d25ce2e12675789b39bc4d95de2ec2171f69400387b499cbd25ce3e12675f89b39fc4d95fe21c20710e943807499c8325ce210012e750897398c4395ce21c21718e943847499ca325ce3112e75889739cc439005ee29c20714e943827499c9325ce2912e75489739ac4395de29c2171ce94380067499cb325ce3912e77512e75c89f37a89f30689f34689f32689739ec479b300c4798bc479abc4395fe2bc4de2bc5de2bc43e2bc53e2bc4be2bc5be2bc47e200bc57e2bc4fe2bc5fe27c40e27c50e27c48e27c58e27c44e27c54e27c4ce27c005ce27c42e25c20713e29713e25713e2d713e23713e2b713e27712e94381749009ccf4b9c8b25ce1724ce1725ce9724ce9725ce5724ce5725ced724ced725ce003724ce3725ceb724ce2512e7db12e73b12e7bb12e77b12e7fb12e70712e7870012e74712e7c712e72712e7a712e76712e7e712e71712e79712e75712e7d71200e73712e7b712e77712e75289f37b89f30789f34789f32789f367897399c4b9005ce25c2171ae943857499cab25ce3512e75a89739dc4b95ee2dc20716e94380037499c9b25ce2d12e75689739bc4b95de2dc2171ee943877499cbb25ce3d1200e75e89739fc4b95fe23c20711e94380f499c8725ce2312e75189f398c4795c00e23c21719e94384f499ca725ce3312e75989f39cc4795ee2bc20715e94382f00499c9725ce2b12e75589332cb1c39948e24c2c71269138934a9cc924cee41200670a8933a5c4994ae24c2d71a69138d34a9ce924cef41267b8c49941e2cc280071669238334b9c5924ceac1267368933bbc49943e2cc2971e69238734b9c790024cebc12673e8933bfc45940e22c28711692380b4b9c4524cea212673189b300b8c45942e22c29719692384b4b9c6524ceb212673989b3bcc4192171464a9c005112670589335ae2ac28715692382b4b9c5524ceaa12673589b3bac45943e200ac2971d692386b4b9c7524ceba12673d89b3bec4d940e26c28713692381b4b009c4d24cea612673389b3b9c4d942e26c2971b692385b4b9c6d24ceb612673b0089b3bdc4d941e2ec28717692383b4b9c5d24ceae12673789b3bbc4d943e2ec002971f692387b4b9c7d24cebe12673f89b3bfc43940e21c28710e9238074b9c004324cea112e7308973b8c43942e21c29718e9238474b9c6324ceb112e738890073bcc43941e29c28714e9238274b9c5324cea912e7348973bac43943e29c290071ce9238674b9c7324ceeb24ceb912e7f512e70d12e78d12e74d12e73c89f3006689f31689f3568973bec4799bc479bbc47987c479a7c47997c479b7c4798f00c479afc4799fc479bfc4f980c4f9a0c4f990c4f9b0c4f988c4f9a8c4f998c400f9b8c4f984c4b940e27c52e27c4ae27c5ae27c46e27c56e27c4ee25c28712e0092389f9738174b9c2f489c2f4a9c2f499c2f4b9caf489caf4a9caf499caf4b009c6f489c6f4a9c6f499c4b24ceb725ce7724ce7725cef724cef725ce0f24ce000f25ce8f24ce8f25ce4f24ce4f25cecf24cecf25ce2f24ce2f25ceaf24ceaf0025ce6f24ce6f25ceef24cea512e7f712e70f12e78f12e74f12e7cf12e732890073b9c4b942e25c2971ae9238574b9c6b24ceb512e73a8973bdc4b941e2dc2800716e9238374b9c5b24cead12e7368973bbc4b943e2dc2971ee9238774b9c7b0024cebd12e73e8973bfc47940e23c28711e92380f4b9c4724cea312e73189f300b8c47942e23c29719e92384f4b9c6724ceb312e73989f3bcc47941e2bc2871005e92382f4b9c5724ceab12675812873391c49958e24c227126953893499cc90025ce1412674a893395c4995ae24c2371a69538d3499ce925ce70893383c4990051e2cc2471669638b3489c5925ce6c126776893387c49953e2cc2571e6963800f3489c7925ce7c12677e89b380c45950e22c24711696388b489c4525ce621200677189b384c45952e22c2571969638cb489c6525ce72126779893342e28c940038a324ce0a1267b4c45951e2ac2471569638ab489c5525ce6a12677589b38600c45953e2ac2571d69638eb489c7525ce7a12677d89b381c4d950e26c2471360096389b489c4d25ce6612677389b385c4d952e26c2571b69638db489c6d25ce007612677b89b383c4d951e2ec2471769638bb489c5d25ce6e12677789b387c400d953e2ec2571f69638fb489c7d25ce7e12677f897380c43950e21c24710e96003887489c4325ce6112e770897384c43952e21c25718e9638c7489c6325ce710012e778897382c43951e29c24714e9638a7489c5325ce6912e774897386c4390053e29c2571ce9638e7489cd7499c7325ceeb25ce1b24ce1b25ce9b24ce791200e7cd12e72d12e7ad12e77c89f33689f37689f30e89f34e89f32e89f36e89f3001e89f35e89f33e89f37e89f30189f34189f32189f36189f31189f35189f3310089f37189f309897381c4f9a4c4f994c4f9b4c4f98cc4f9acc4f99cc4b950e2005c24713e2f712e96385f90385f94385f92385f96385f91385f95385f93385f009738df9038df9438df923897489c6f4b9cef489cef4a9cef499cef4b9c1f48009c1f4a9c1f499c1f4b9c9f489c9f4a9c9f499c9f4b9c5f489c5f4a9c5f499c005f4b9cdf489cdf4a9cdf499c4b25ceef25ce1f24ce1f25ce9f24ce9f25ce650012e772897385c4b952e25c2571ae9638d7489c6b25ce7512e77a897383c4b90051e2dc24716e9638b7489c5b25ce6d12e776897387c4b953e2dc2571ee963800f7489c7b25ce7d12e77e89f380c47950e23c24711e96388f489c4725ce631200e77189f384c47952e23c25719e9638cf489c6725ce7312e77989f382c4795100e2bc24715e9638af489c5725ceb0a40e67228933b1c49944e24c2a7126933800934b9c2924ce9412672a8933b5c49946e24c2b71a69338d34b9ce1126706890033a3c49949e2cc2c71669138b34a9cd924ceec12670e8933a7c4994be2cc2d0071e69138f34a9cf924cefc12670189b3a0c45948e22c2c711691388b4a9cc50024cee212670989b3a4c4594ae22c2d71969138cb4a9ce524cef2126784c41900297146499c1524ce6889b3a2c45949e2ac2c71569138ab4a9cd524ceea1267000d89b3a6c4594be2ac2d71d69138eb4a9cf524cefa12670389b3a1c4d948e2006c2c713691389b4a9ccd24cee612670b89b3a5c4d94ae26c2d71b69138db4a009ced24cef612670789b3a3c4d949e2ec2c71769138bb4a9cdd24ceee12670f0089b3a7c4d94be2ec2d71f69138fb4a9cfd24cefe12e7008973a0c43948e21c002c710e9138874a9cc324cee112e7088973a4c4394ae21c2d718e9138c74a9c00e324cef112e7048973a2c43949e29c2c714e9138a74a9cd324cee912e70c890073a6c4394be29c2d71ce9138af9338e74a9cd74b9c37489c374a9c37499cf30024ce9b25ce5b24ce5b25cef912e76d12e7ed12e71d12e79d12e75d12e7dd1200e73d12e7bd12e77d12e7fd12e70312e78312e74312e7c312e72312e7a312e7006312e7e312e71312e70289f34989f32989f36989f31989f35989f3398973a100c4b948e27c5ee25c2c71be2071be2871be2471be2c71be2271be2a71be267100be2e71be2171be2971be25712e9138df9638df9138df9538df9338df97383f0090383f94383f92383f96383f91383f95383f93383f9738bf9038bf9438bf920038bf9638bf9138bf9538bf9338974a9cdf4b9c3f489c3f4a9c3f499c3f4b9c00cb24cee512e70a8973a5c4b94ae25c2d71ae9138d74a9ceb24cef512e706890073a3c4b949e2dc2c716e9138b74a9cdb24ceed12e70e8973a7c4b94be2dc2d0071ee9138f74a9cfb24cefd12e70189f3a0c47948e23c2c711e91388f4a9cc70024cee312e70989f3a4c4794ae23c2d719e9138cf4a9ce724cef312e70589f300a2c47949e2bc2c715e9138af4a9c61c91cce44126762893389c49954e24c26007126973853489c2925ce5412676a89338dc49956e24c2771a69738c325ce0c00126746893393c49959e2cc2271669538b3499cd925ce1c12674e893397c499005be2cc2371e69538f3499cf925ce0212674189b390c45958e22c2271169538008b499cc525ce1212674989b394c4595ae22c2371969538cb499ce525ce0889003352e28c92382b489cd112674589b392c45959e2ac2271569538ab499cd52500ce1a12674d89b396c4595be2ac2371d69538eb499cf525ce0612674389b39100c4d958e26c22713695389b499ccd25ce1612674b89b395c4d95ae26c2371b6009538db499ced25ce0e12674789b393c4d959e2ec2271769538bb499cdd25ce001e12674f89b397c4d95be2ec2371f69538fb499cfd25ce0112e740897390c4003958e21c22710e953887499cc325ce1112e748897394c4395ae21c23718e950038c7499ce325ce0912e744897392c43959e29c22714e9538a7499cd325ce190012e74c897396c4395be29c23715e2771ce9538af97386f90386f94386f923800e7499c374b9cb7489cb74a9cf325cedb24cedb25ce3b24ce3b25cebb24cebb0025ce7b24ce7b25cefb24cefb25ce0724ce0725ce8724ce8725ce4724ce472500cec724cec725ce2724ce0512e79312e75312e7d312e73312e7b312e77312e70042897391c4f9bcc4b958e27c41e27c51e27c49e27c59e27c45e27c55e27c4d00e27c5de27c43e27c53e27c4be25c2271be2d71be2371be2b71be2771be2f71007e20717e28717e24717e2c717e22717e2a717e26717e2e717e21717e29717e0025717e2d717e23717e2b717e27712e9538bf97387f90387f94387f92387f96003897499ccb25ce1512e74a897395c4b95ae25c2371ae9538d7499ceb25ce0d0012e746897393c4b959e2dc22716e9538b7499cdb25ce1d12e74e897397c4b9005be2dc2371ee9538f7499cfb25ce0312e74189f390c47958e23c22711e9538008f499cc725ce1312e74989f394c4795ae23c23719e9538cf499ce725ce0b1200e74589f392c47959e2bc22715e9538c3923b9c8924cec41267128933a9c499004ce24c2e71a69038534a9ca924ced412671a8933adc4994ee24c2f71864b9c001924ce8c1267268933b3c49945e2cc2a71669338b34b9c3924ce9c12672e890033b7c49947e2cc2b71e69338f34b9c0524ce8212672189b3b0c45944e22c2a00711693388b4b9c2524ce9212672989b3b4c45946e22c2b71969338cb4b9c11001267a4c4192571569038a325ce8a12672589b3b2c45945e2ac2a71569338ab004b9c3524ce9a12672d89b3b6c45947e2ac2b71d69338eb4b9c0d24ce861267002389b3b1c4d944e26c2a713693389b4b9c2d24ce9612672b89b3b5c4d946e2006c2b71b69338db4b9c1d24ce8e12672789b3b3c4d945e2ec2a71769338bb4b009c3d24ce9e12672f89b3b7c4d947e2ec2b71f69338fb4b9c0324ce8112e720008973b0c43944e21c2a710e9338874b9c2324ce9112e7288973b4c43946e21c002b718e9338c74b9c1324ce8912e7248973b2c43945e29c2a714e9338a74b9c003324ce9912e72c8973b6c43947e2bc4ee29c2b715e2f71de2071de2871de240071ce93386f96386f91386f9538e74b9cb7499cb74b9c77489c774a9c77499c00774b9cf7489cf74a9cf7499cf74b9c0f489c0f4a9c0f499c0f4b9c8f489c8f004a9c8f499c8f4b9c4f489c0b24ce2725cea724cea725ce6724ce6725cee72400ce8512e72289f3798973b1c4f982c4f9a2c4f992c4f9b2c4f98ac4f9aac4f9009ac4f9bac4f986c4f9a6c4f996c4b944e27c5be27c47e27c57e27c4fe27c5f00e2fc40e2fc50e2fc48e2fc58e2fc44e2fc54e2fc4ce2fc5ce2fc42e2fc52e200fc4ae2fc5ae2fc46e2fc56e2fc4ee25c2a717e2f71fe2071fe2871fe2471fe002c712e9338974b9c2b24ce9512e72a8973b5c4b946e25c2b71ae9338d74b9c001b24ce8d12e7268973b3c4b945e2dc2a716e9338b74b9c3b24ce9d12e72e890073b7c4b947e2dc2b71ee9338f74b9c0724ce8312e72189f3b0c47944e23c2a00711e93388f4b9c2724ce9312e72989f3b4c47946e23c2b719e9338cf4b9c170024ce8b12e72589f3b2c47945e2bc2a7186a5703813499c8925ce2412675289003399c4995ce24c2171a6943853499ca925ce3412675a89339dc4995ee20c97003833489c1925ce4c12676689338bc49955e2cc267166973873489c3925ce5c0012676e89338fc49957e2cc2771e697380b489c0525ce4212676189b388c4590054e22c26711697384b489c2525ce5212676989b38cc45956e22c2771969738002324ce4889334ae2ac2071464b9c1525ce4a12676589b38ac45955e2ac2671005697386b489c3525ce5a12676d89b38ec45957e2ac2771d697381b489c0d2500ce4612676389b389c4d954e26c26713697385b489c2d25ce5612676b89b38d00c4d956e26c2771b697383b489c1d25ce4e12676789b38bc4d955e2ec2671760097387b489c3d25ce5e12676f89b38fc4d957e2ec2771f6973807489c0325ce004112e760897388c43954e21c26710e973847489c2325ce5112e76889738cc4003956e21c27718e973827489c1325ce4912e76489738ac43955e29c26714e97003867489c3325ce5912e76c89738ec4799dc43957e2bc5ee2bc41e2bc51e2bc0049e29c2771de2c71de2271de2a71ce97386f93386f9738ef9038ef9438ef920038ef9638ef9138ef9538ef9338ef97381f90381f94381f92381f96381f9138001f95381f93381f97389f903817489c4f4a9c4f499c4f4b9ccf489ccf4a9ccf00499c0b25ce4512e7f312e76289f30589f34589f32589f36589f31589f3558900f33589f37589f30d89f34d89f32d897389c4f9b6c4f98ec4f9aec4f99ec4f900bec4f981c4f9a1c4f991c4f9b1c4f989c4f9a9c4f999c4f9b9c4f985c4f9a500c4f995c4f9b5c4f98dc4f9adc4f99dc4b954e2fc5ee2fc41e2fc51e2fc49e200fc59e25c26712e973857489c2b25ce5512e76a89738dc4b956e25c2771ae97003837489c1b25ce4d12e76689738bc4b955e2dc26716e973877489c3b25ce5d0012e76e89738fc4b957e2dc2771ee97380f489c0725ce4312e76189f388c4790054e23c26711e97384f489c2725ce5312e76989f38cc47956e23c27719e9738002f489c1725ce4b12e76589f38ac47955e20c4be970269238134b9c4924cea4001267328933b9c49942e24c2971a69238534b9c6924ceb412673a8933bdc419002e71669038334a9c9924cecc1267168933abc4994de2cc2e71e69038734a9c00b924cedc12671e8933afc4994fe2cc2f711690380b4a9c8524cec21267118900b3a8c4594ce22c2e719690384b4a9ca524ced212671989b3acc4594ee22c2f007146489c91126794c45941e28c96382b4a9c9524ceca12671589b3aac4594d00e2ac2e71d690386b4a9cb524ceda12671d89b3aec4594fe2ac2f713690381b004a9c8d24cec612671389b3a9c4d94ce26c2e71b690385b4a9cad24ced61267001b89b3adc4d94ee26c2f717690383b4a9c9d24cece12671789b3abc4d94de200ec2e71f690387b4a9cbd24cede12671f89b3afc4d94fe2ec2f710e9038074a009c8324cec112e7108973a8c4394ce21c2e718e9038474a9ca324ced112e718008973acc4394ee21c2f714e9038274a9c9324cec912e7148973aac4394de29c002e71ce9038674a9cb324ced912e71c89f33a8973aec479bdc47983c479a3c4007993c4394fe2bc59e2bc45e2bc55e29c2f71de2671de2e71de2171de2971de002571de2d71de2371de2b71de2771de2f713e20713e28713e24713e2c713e2200713e2a713e26713e2e713e21712e90389f94389f92389f96389f91389f9538009f9338174a9c8b24cee725cec512e70b12e78b12e74b12e7cb12e72b12e7ab0012e76b12e7eb12e71b12e79b12e75b12e71289f36d89f31d89f35d89f33d8900f37d89f30389f34389f32389f36389f31389f35389f33389f37389f30b89f3004b89f32b89f36b89f31b89f35b89f33b8973a9c4f9bdc4f983c4f9a3c4f99300c4f9b3c4b94ce25c2e71ae9038574a9cab24ced512e71a8973adc4b94ee25c002f716e9038374a9c9b24cecd12e7168973abc4b94de2dc2e71ee9038774a9c00bb24cedd12e71e8973afc4b94fe2dc2f711e90380f4a9c8724cec312e7118900f3a8c4794ce23c2e719e90384f4a9ca724ced312e71989f3acc4794ee23c2f00715e90382f4a9c9724cecb12e71589f3aac41996cae14c247126963893489c004925ce64126772893385c49952e24c2571a69638d3489c6925ce7412677a8900335ce2cc207166943833499c9925ce2c12675689339bc4995de2cc2171e694003873499cb925ce3c12675e89339fc4995fe22c20711694380b499c8525ce220012675189b398c4595ce22c21719694384b499ca525ce3212675989b39cc459005ee28c90382325ce2889b382c4192d715694382b499c9525ce2a12675589b3009ac4595de2ac2171d694386b499cb525ce3a12675d89b39ec4595fe26c2071003694381b499c8d25ce2612675389b399c4d95ce26c2171b694385b499cad2500ce3612675b89b39dc4d95ee2ec20717694383b499c9d25ce2e12675789b39b00c4d95de2ec2171f694387b499cbd25ce3e12675f89b39fc4d95fe21c20710e00943807499c8325ce2112e750897398c4395ce21c21718e943847499ca325ce003112e75889739cc4395ee29c20714e943827499c9325ce2912e75489739ac400395de29c2171ce943867499cb325ce3912e77512e75c89f37a89f30689f3460089f32689739ec479b3c4798bc479abc4395fe2bc4de2bc5de2bc43e2bc53e200bc4be2bc5be2bc47e2bc57e2bc4fe2bc5fe27c40e27c50e27c48e27c58e27c0044e27c54e27c4ce27c5ce27c42e25c20713e29713e25713e2d713e23713e2b00713e27712e943817499ccf4b9c8b25ce1724ce1725ce9724ce9725ce5724ce005725ced724ced725ce3724ce3725ceb724ce2512e7db12e73b12e7bb12e77b0012e7fb12e70712e78712e74712e7c712e72712e7a712e76712e7e712e7171200e79712e75712e7d712e73712e7b712e77712e75289f37b89f30789f34789f3002789f367897399c4b95ce25c2171ae943857499cab25ce3512e75a89739dc400b95ee2dc20716e943837499c9b25ce2d12e75689739bc4b95de2dc2171ee94003877499cbb25ce3d12e75e89739fc4b95fe23c20711e94380f499c8725ce230012e75189f398c4795ce23c21719e94384f499ca725ce3312e75989f39cc479005ee2bc20715e94382f499c9725ce2b12e75589332cb5c39948e24c2c7126910038934a9cc924cee412670a8933a5c4994ae24c2d71a69138d34a9ce924cef4001267b8c49941e2cc2871669238334b9c5924ceac1267368933bbc49943e2cc002971e69238734b9c7924cebc12673e8933bfc45940e22c28711692380b4b9c004524cea212673189b3b8c45942e22c29719692384b4b9c6524ceb21267398900b3bcc4192171464a9c5112670589335ae2ac28715692382b4b9c5524ceaa1200673589b3bac45943e2ac2971d692386b4b9c7524ceba12673d89b3bec4d94000e26c28713692381b4b9c4d24cea612673389b3b9c4d942e26c2971b692385b004b9c6d24ceb612673b89b3bdc4d941e2ec28717692383b4b9c5d24ceae1267003789b3bbc4d943e2ec2971f692387b4b9c7d24cebe12673f89b3bfc43940e2001c28710e9238074b9c4324cea112e7308973b8c43942e21c29718e9238474b009c6324ceb112e7388973bcc43941e29c28714e9238274b9c5324cea912e734008973bac43943e29c2971ce9238674b9c7324ceeb24ceb912e7f512e70d12e7008d12e74d12e73c89f36689f31689f3568973bec4799bc479bbc47987c479a700c47997c479b7c4798fc479afc4799fc479bfc4f980c4f9a0c4f990c4f9b0c400f988c4f9a8c4f998c4f9b8c4f984c4b940e27c52e27c4ae27c5ae27c46e27c0056e27c4ee25c28712e92389f9738174b9c2f489c2f4a9c2f499c2f4b9caf48009caf4a9caf499caf4b9c6f489c6f4a9c6f499c4b24ceb725ce7724ce7725ce00f724cef725ce0f24ce0f25ce8f24ce8f25ce4f24ce4f25cecf24cecf25ce2f0024ce2f25ceaf24ceaf25ce6f24ce6f25ceef24cea512e7f712e70f12e78f1200e74f12e7cf12e7328973b9c4b942e25c2971ae9238574b9c6b24ceb512e73a008973bdc4b941e2dc28716e9238374b9c5b24cead12e7368973bbc4b943e2dc002971ee9238774b9c7b24cebd12e73e8973bfc47940e23c28711e92380f4b9c004724cea312e73189f3b8c47942e23c29719e92384f4b9c6724ceb312e7398900f3bcc47941e2bc28715e92382f4b9c5724ceab1267581a873391c49958e24c00227126953893499cc925ce1412674a893395c4995ae24c2371a69538d3499c00e925ce70893383c49951e2cc2471669638b3489c5925ce6c126776893387c4009953e2cc2571e69638f3489c7925ce7c12677e89b380c45950e22c2471169600388b489c4525ce6212677189b384c45952e22c2571969638cb489c6525ce7200126779893342e28c9438a324ce0a1267b4c45951e2ac2471569638ab489c550025ce6a12677589b386c45953e2ac2571d69638eb489c7525ce7a12677d89b30081c4d950e26c24713696389b489c4d25ce6612677389b385c4d952e26c257100b69638db489c6d25ce7612677b89b383c4d951e2ec2471769638bb489c5d2500ce6e12677789b387c4d953e2ec2571f69638fb489c7d25ce7e12677f89738000c43950e21c24710e963887489c4325ce6112e770897384c43952e21c25718e009638c7489c6325ce7112e778897382c43951e29c24714e9638a7489c5325ce006912e774897386c43953e29c2571ce9638e7489cd7499c7325ceeb25ce1b2400ce1b25ce9b24ce7912e7cd12e72d12e7ad12e77c89f33689f37689f30e89f3004e89f32e89f36e89f31e89f35e89f33e89f37e89f30189f34189f32189f3610089f31189f35189f33189f37189f309897381c4f9a4c4f994c4f9b4c4f98cc400f9acc4f99cc4b950e25c24713e2f712e96385f90385f94385f92385f96385f0091385f95385f93385f9738df9038df9438df923897489c6f4b9cef489cef4a009cef499cef4b9c1f489c1f4a9c1f499c1f4b9c9f489c9f4a9c9f499c9f4b9c005f489c5f4a9c5f499c5f4b9cdf489cdf4a9cdf499c4b25ceef25ce1f24ce1f0025ce9f24ce9f25ce6512e772897385c4b952e25c2571ae9638d7489c6b25ce007512e77a897383c4b951e2dc24716e9638b7489c5b25ce6d12e776897387c400b953e2dc2571ee9638f7489c7b25ce7d12e77e89f380c47950e23c24711e9600388f489c4725ce6312e77189f384c47952e23c25719e9638cf489c6725ce730012e77989f382c47951e2bc24715e9638af489c5725ceb0b40e67228933b1c4009944e24c2a71269338934b9c2924ce9412672a8933b5c49946e24c2b71a6930038d34b9ce11267068933a3c49949e2cc2c71669138b34a9cd924ceec12670e008933a7c4994be2cc2d71e69138f34a9cf924cefc12670189b3a0c45948e22c002c711691388b4a9cc524cee212670989b3a4c4594ae22c2d71969138cb4a9c00e524cef2126784c419297146499c1524ce6889b3a2c45949e2ac2c7156913800ab4a9cd524ceea12670d89b3a6c4594be2ac2d71d69138eb4a9cf524cefa1200670389b3a1c4d948e26c2c713691389b4a9ccd24cee612670b89b3a5c4d94a00e26c2d71b69138db4a9ced24cef612670789b3a3c4d949e2ec2c71769138bb004a9cdd24ceee12670f89b3a7c4d94be2ec2d71f69138fb4a9cfd24cefe12e700008973a0c43948e21c2c710e9138874a9cc324cee112e7088973a4c4394ae2001c2d718e9138c74a9ce324cef112e7048973a2c43949e29c2c714e9138a74a009cd324cee912e70c8973a6c4394be29c2d71ce9138af9338e74a9cd74b9c3700489c374a9c37499cf324ce9b25ce5b24ce5b25cef912e76d12e7ed12e71d1200e79d12e75d12e7dd12e73d12e7bd12e77d12e7fd12e70312e78312e74312e700c312e72312e7a312e76312e7e312e71312e70289f34989f32989f36989f3190089f35989f3398973a1c4b948e27c5ee25c2c71be2071be2871be2471be2c7100be2271be2a71be2671be2e71be2171be2971be25712e9138df9638df9138df009538df9338df97383f90383f94383f92383f96383f91383f95383f93383f970038bf9038bf9438bf9238bf9638bf9138bf9538bf9338974a9cdf4b9c3f489c003f4a9c3f499c3f4b9ccb24cee512e70a8973a5c4b94ae25c2d71ae9138d74a009ceb24cef512e7068973a3c4b949e2dc2c716e9138b74a9cdb24ceed12e70e008973a7c4b94be2dc2d71ee9138f74a9cfb24cefd12e70189f3a0c47948e23c002c711e91388f4a9cc724cee312e70989f3a4c4794ae23c2d719e9138cf4a9c00e724cef312e70589f3a2c47949e2bc2c715e9138af4a9c61e91cce4412676200893389c49954e24c267126973853489c2925ce5412676a89338dc49956e24c002771a69738c325ce0c126746893393c49959e2cc2271669538b3499cd925ce001c12674e893397c4995be2cc2371e69538f3499cf925ce0212674189b390c4005958e22c22711695388b499cc525ce1212674989b394c4595ae22c237196950038cb499ce525ce08893352e28c92382b489cd112674589b392c45959e2ac220071569538ab499cd525ce1a12674d89b396c4595be2ac2371d69538eb499cf50025ce0612674389b391c4d958e26c22713695389b499ccd25ce1612674b89b30095c4d95ae26c2371b69538db499ced25ce0e12674789b393c4d959e2ec227100769538bb499cdd25ce1e12674f89b397c4d95be2ec2371f69538fb499cfd2500ce0112e740897390c43958e21c22710e953887499cc325ce1112e74889739400c4395ae21c23718e9538c7499ce325ce0912e744897392c43959e29c22714e009538a7499cd325ce1912e74c897396c4395be29c23715e2771ce9538af9738006f90386f94386f9238e7499c374b9cb7489cb74a9cf325cedb24cedb25ce3b0024ce3b25cebb24cebb25ce7b24ce7b25cefb24cefb25ce0724ce0725ce872400ce8725ce4724ce4725cec724cec725ce2724ce0512e79312e75312e7d312e7003312e7b312e77312e742897391c4f9bcc4b958e27c41e27c51e27c49e27c5900e27c45e27c55e27c4de27c5de27c43e27c53e27c4be25c2271be2d71be237100be2b71be2771be2f717e20717e28717e24717e2c717e22717e2a717e26717e002e717e21717e29717e25717e2d717e23717e2b717e27712e9538bf97387f9000387f94387f92387f963897499ccb25ce1512e74a897395c4b95ae25c2371ae009538d7499ceb25ce0d12e746897393c4b959e2dc22716e9538b7499cdb25ce001d12e74e897397c4b95be2dc2371ee9538f7499cfb25ce0312e74189f390c4007958e23c22711e95388f499cc725ce1312e74989f394c4795ae23c23719e950038cf499ce725ce0b12e74589f392c47959e2bc22715e9538c3d23b9c8924ce00c41267128933a9c4994ce24c2e71a69038534a9ca924ced412671a8933adc400994ee24c2f71864b9c1924ce8c1267268933b3c49945e2cc2a71669338b34b009c3924ce9c12672e8933b7c49947e2cc2b71e69338f34b9c0524ce821267210089b3b0c45944e22c2a711693388b4b9c2524ce9212672989b3b4c45946e22c002b71969338cb4b9c111267a4c4192571569038a325ce8a12672589b3b2c4590045e2ac2a71569338ab4b9c3524ce9a12672d89b3b6c45947e2ac2b71d6933800eb4b9c0d24ce8612672389b3b1c4d944e26c2a713693389b4b9c2d24ce961200672b89b3b5c4d946e26c2b71b69338db4b9c1d24ce8e12672789b3b3c4d94500e2ec2a71769338bb4b9c3d24ce9e12672f89b3b7c4d947e2ec2b71f69338fb004b9c0324ce8112e7208973b0c43944e21c2a710e9338874b9c2324ce9112e700288973b4c43946e21c2b718e9338c74b9c1324ce8912e7248973b2c43945e2009c2a714e9338a74b9c3324ce9912e72c8973b6c43947e2bc4ee29c2b715e2f0071de2071de2871de2471ce93386f96386f91386f9538e74b9cb7499cb74b9c0077489c774a9c77499c774b9cf7489cf74a9cf7499cf74b9c0f489c0f4a9c0f00499c0f4b9c8f489c8f4a9c8f499c8f4b9c4f489c0b24ce2725cea724cea72500ce6724ce6725cee724ce8512e72289f3798973b1c4f982c4f9a2c4f992c4f900b2c4f98ac4f9aac4f99ac4f9bac4f986c4f966023913c7715688a8141d3db00072d4c0c80a917d23a2aaf6ab523122ba62bf4a5522ab4456ac52714054950a0015065689ae52b96abfaa9523aa464657181839a862d50a8362a65d3c84637e00eb2f1a73c49fbb442e491fbaf9372cdcf138270de1fc7b5bb26c270be198df00918c397908c7fcae64cc294238e6f724634e19c231bf2f1973aa108ef903c90098538770cc1f4ac69c268463fe4832e6b4211cf3c79231a70be1983f918c190066c8c6fca964cce1211cf36792316708e1983f978c396308c7fc8564cc99420038e62f2563ce1cc2317f25197396108ef96bc998b38670ccdf48c69c2d846300fe5632e6ec211cf3779231e708e198974ac69c338463fe5e32e65c211cf30f009231e70ee1987f948c394f08c7fc9364cc794338e69f2563ce17c2312f938c00397f08c7bc5c32e602211cf30ac9980b8670cc2b25632e14c231af928cb9700008c7bc5a32e622211cf31ac9988b8670cc6b25632e16c231af0be1989384fd00f36f7c027fdf16b894a6325496ca51f9c0cfa0488a0acc078aa68a54892a530015aa4ad5a83ad5a09a548b6ac78cbb2ed5a3fad4801a52236a4c4da82935a300e6d4825a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed4837a52002fea4d7da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d6368002c8da3f1348126d2249a4c53682a4da3e9348366d22c9a4d73e83a9a4bd7d3000d7423dd44f3e866ba856ea5f9741bdd4e77d09d7417dd4df7d0bd741fdd4f000fd083f4103d4c8fd0a3f4183d4e4fd0027a929ea2a7e9197a969ea385b488009ea7c5f402bd482fd1cbf40abd4aafd1ebf406bd496fd1127a9bdea177e93d007a9f3ea00fe923fa983ea14fe933fa9cbea02fe92bfa9abea16fe93b5a4adf00d30ff423fd443fd3325a4e2b6825ada2d5b486d6d23a5a4f1b68236da2cdb40085b6d236da4e3b6827eda2ddb487f6d23eda4f07e8201da2c374848ed2313a004e27e8249da2d37486ced2393a4f17e8225da2cb7485ae5260054b448929090025a564949c52504a4a45a9290da5a574949ec2290365a44c9499b25056ca4600d92907e5a45c949bf2505eca47f9a90015a44254988a50512a46c5a90495a40052549aca50592a47e5298222298a2a503455a44a5499aa5055aa46d5a906d500a45a549bea505daa47f5a90135a446d4989a50536a46cda905b5a456d49ada00505b6a47eda90375a44ed499ba5057ea46dda907f5a45ed49bfa505fea47fd0069000da441349886d0501a46c369048da451349ac6d0581a47e369024da449003499a6d0549a46d36906cda459349be6d0753497aea71be846ba89e6d1cd74000bdd4af3e936ba9deea03be92eba9beea17be93eba9f1ea007e9217a981ea10047e9317a9c9ea005f4243d454fd333f42c3d470b69113d4f8be9057a915ea20097e9157a955ea3d7e90d7a93dea225f436bd43efd27bf43e7d401fd247f431007d429fd267f4397d415fd257f4357d43dfd277b494bea71fe847fa897ea66500b49c56d04a5a45ab690dada575b49e36d046da449b690b6da56db49d76d04e00da45bb690feda57db49f0ed0413a4487e9081da563749c4ed0493a45a7e90c009da573749e2ed045ba4497e90a5da5c0c144224a4c49282925a3e494825252002a4a4d69282da5a3f4144e19282365a2cc9485b25236ca4e392827e5a2dc940087f2523eca4f05a82015a2c254848a52312a4e25a82495a2d25486ca52392a004f111449515481a2a92255a2ca5485aa5235aa4e35a826d5a2da5487ea523d00aa4f0da82135a2c6d4849a52336a4e2da825b5a2d6d486da523b6a4f1da8230075a2ced485ba5237ea4e3da827f5a2ded487fa523fea4f0368200da2c134840086d2301a4e2368248da2d13486c6d2381a4f1368224da2c93485a6d2349a4e00336826cda2d93487aea3b9743ddd4037d24d348f6ea65be8569a4fb7d1ed740007dd4977d1dd740fdd4bf7d1fdf4003d480fd1c3f4083d4a8fd1e3f4042da00027e9297a9a9ea167e9395a488be8795a4c2fd08bf412bd4cafd0abf41abd4e006fd09bf4162da1b7e91d7a97dea3f7e903fa903ea28fe913fa943ea3cfe90b00fa92bea2afe91bfa96bea3a5f43dfd403fd24ff4332da3e5b48256d22a5a4d006b682dada3f5b48136d226da4c5b682b6da3edb48376d22eda4d7b682feda300fd74800ed2213a4c47e8281da3e374824ed2293a4d67e82c9da3f374812ed20025ba4c57e82a8571909d881253124a4ac92839a5a094948a52531a4a4be928003d855306ca4899283365a1ac948db2530eca49b92837e5a1bc948ff253012a004885a83015a1a2548c8a53092a49a5a83495a1b2548eca53e09784488aa20a00144d15a91255a62a5495aa5175aa4135a916d5a63a5497ea517d6a400da9110035a626d4949a51736a412da915b5a636d496da517bea401da91375a62ed49500ba5177ea413da917f5a63ed497fa517f1a400369100da621349486d1701a41002369148da6313496c6d1789a401369124da6293495a6d1749a41336916cda60039741dcda5ebe906ba916ea2797433dd42b7d27cba8d6ea73be84eba8beea6007be85eba8feea707e8417a881ea647e8517a8c1ea72768013d494fd1d3f40c003d4bcfd1425a44cfd3627a815ea497e8657a855ea5d7e8757a83dea4b7680900bd4defd0bbf41ebd4f1fd087f4117d4c9fd0a7f4197d4e5fd097f4157d4ddf00d0b7f41d2da5efe907fa917ea29f69192da715b49256d16a5a436b691dada7000db49136d166da425b691b6da71db49376d16eda437b691feda70374900ed100613a4247e9181da71374924ed1693a4367e91c9da70b74912ed165ba425729002c29eb3f25a62494949251724a41292915a5a6349496d2517a0aa70c949132005166ca4259291b65a71c949372516eca4379291fe5a70254900a51612a424500a91815a71254924a51692a4365a91c95a7c03f4944521455a068aa4895a8320055a1aa548daa530daa49b5a836d5a1ba548fea53036a488da83135a1a6d48c009a530b6a49ada835b5a1b6d48eda5307ea489da83375a1aed48dba530fea4900bda837f5a1bed48ffad3001a488368300da1a1348c86d3081a49a368348da100b1348ec6d3049a489368324da1a9348da6d30c9a49b36836cda1eb682e5d4f0037d08d7413cda39be916ba95e6d36d743bdd4177d25d7437dd43f7d27d743f003d400fd243f4303d428fd263f4383d410be8497a8a9ea667e8597a8e16d222007a9e16d30bf422bd442fd32bf42abd46afd31bf426bd454be86d7a87dea5f700e87dfa803ea48fe863fa843ea5cfe873fa82bea4afe86bfa86bea5ef68297d004f3fd08ff413fd4ccb6839ada095b48a56d31a5a4beb683d6da08db48936d30016da4adb683beda09db48b76d31eda4bfb683f1da08374880ed3113a4ac7e800389da093748a4ed3193a4be7e83c5da08b74892ed315ba4a61c958ff29312500a1a4948c92530a4a49a92835a5a1b4948ed2533865a08c9489325316ca4ad900283be5a09c948b72531eca4bf9283f15a08254880a53112a4ac5a83895a09200548a4a53192a4be5a83c05fe612892a2a802455345aa4495a90a55a56a549d006a504daa45b5a90ed5a57a549f1a50436a448da90935a566d49c5a504b6a4500ada90db5a576d49e3a5047ea449da90b75a56ed49d7a504fea45bda90ff5a5007ed49f06d0401a448369080da561349c46d0481a45a3690c8da571349e26d000449a4493690a4da569349d66d04c9a45b3690e5d4773e97aba816ea49b681e00dd4cb7d0ad349f6ea3dbe90eba93eea2bbe91eba97eea3fbe9017a901ea28700e9117a941ea3c7e9095a404fd253f4343d43cfd273b49016d1f3b4985ea01700e9257a995ea157e9357a9ddea037e92d5a426fd33bf42ebd47efd307f4217d00441fd327f4297d469fd317f4257d455fd337f42d7d474be97bfa817ea49fe800675a46cb6905ada455b49ad6d05a5a47eb69036da44db499b6d056da46db690007eda45db49bf6d05eda47fbe9001da44374988ed0513a46c7e9049da45374009aced0593a47e7e9025da44b7499aed0550a4bcefa4f89290925a564949c5200504a4a45a9290da5a574949ec2290365a44c9499b25056ca46d92907e5a45c00949bf2505eca47f9a90015a44254988a50512a46c5a90495a452549aca5059002a47e529f0cf7391144515289a2a5225aa4c55a82a55a3ea54836a522daa4d0075a82ed5a3fad4801a52236a4c4da82935a3e6d4825a522b6a4d6da82db5a300f6d4813a5227ea4c5da82b75a3eed4837a522fea4d7da82ff5a3fe348006d200201a4c4368280da3e1348246d2281a4d63682c8da3f1348126d2249a4c5368002a4da3e9348366d22c9a4d73e83a9a4bd7d30d7423dd44f3e866ba856ea5f900741bdd4e77d09d7417dd4df7d0bd741fdd4f0fd083f4103d4c8fd0a3f4183d004e4fd0027a929ea2a7e9197a969ea385b4889ea7c5f402bd482fd1cbf40abd004aafd1ebf406bd496fd1127a9bdea177e93d7a9f3ea00fe923fa983ea14fe90033fa9cbea02fe92bfa9abea16fe93b5a4adfd30ff423fd443fd3325a4e2b680025ada2d5b486d6d23a5a4f1b68236da2cdb485b6d236da4e3b6827eda2ddb40087f6d23eda4f07e8201da2c374848ed2313a4e27e8249da2d37486ced2393a004f17e8225da2cb7485ae52580ad67f4a4c49282925a3e4948252522a4a4d6900282da5a3f4144e19282365a2cc9485b25236ca4e392827e5a2dc9487f2523e00ca4f05a82015a2c254848a52312a4e25a82495a2d25486ca52392a4f817f24008da428aa40d154912a5165aa4255a91a55a71a54936a516daa4375a91ed5a70006d4901a51636a424da91935a716d4925a516b6a436da91db5a70ed4913a510067ea425da91b75a71ed4937a516fea437da91ff5a701349006d1601a42436900180da711349246d1681a4363691c8da709349126d1649a4253691a4da71934009366d16c9a43d7d15cba9e6ea01be9269a4737d32d742bcda7dbe876ba83ee00a4bbe86eba87eea5fbe87e7a801ea487e8617a841ea5c7e8717a8216d093f400143d4dcfd0b3f41c2da445f43c2da617e8457a895ea657e8557a8d5ea737e8004d7a8b96d0dbf40ebd4befd1fbf4017d481fd1c7f4097d4a9fd1e7f4057d49005fd1d7f40d7d4bdfd152fa9e7ea01fe927fa9996d1725a412b6915ada635b40096d6d17ada401b69136da62db495b6d176da413b6917eda63db497f6d17e3a004007e9101da62374948ed1713a4127e9149da6337496ced179ba4017e9125d00a62b7495c252b2fe53624a4249291925a714949252516a4a4369291da5a77000ca4019291365a62c9495b25176ca41392917e5a63c9497f2517e2a4005a9100015a62254948a51712a4125a91495a6325496ca51790afc5375244551058aa6008a54892a5315aa4ad5a83ad5a09a548b6a531daa4bf5a83e35a086d4881a5300136a4acda839b5a096d48a5a531b6a4beda83d75a08ed4893a5317ea4adda8003bf5a09ed48b7a531fea4bfda83f0da081348806d3101a4ac368388da09134008a46d3181a4be3683c4da089348926d3149a4ad3683acda099348b66d31cba008ee6d2f57403dd4837d13cba996ea15b693edd46b7d31d7427dd4577d33d74002fdd47f7d303f4203d440fd323f4283d468fd313b4809ea4a7e8697a869ea500e768212da2e76931bd402fd24bf432bd42afd26bf43abd416fd25bb484dea60077e85d7a8fdea70fe843fa883ea64fe853fa8c3ea72fe84bfa8abea66fe85b00fa8e96d2f7f403fd483fd1cfb48c96d30a5a49ab6835ada1b5b48ed6d306da00489b68336da1adb48db6d30eda49bb6837eda1bdb48ff6d3013a4887e8301d00a1a3748c8ed3093a49a7e8349da1b3748eced305ba4897e8325da1ab14968a00f59f1253124a4ac92839a5a094948a52531a4a4be9283d855306ca489928330065a1ac948db2530eca49b92837e5a1bc948ff253012a4885a83015a1a2548c008a53092a49a5a83495a1b2548eca53e0040391144515289a2a5225aa4c55a8002a55a3ea54836a522daa4d75a82ed5a3fad4801a52236a4c4da82935a3e6d400825a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed4837a522fea004d7da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d63682c8d00a3f1348126d2249a4c53682a4da3e9348366d22c9a4d73e83a9a4bd7d30d740023dd44f3e866ba856ea5f9741bdd4e77d09d7417dd4df7d0bd741fdd4f0fd00083f4103d4c8fd0a3f4183d4e4fd0027a929ea2a7e9197a969ea385b4889ea700c5f402bd482fd1cbf40abd4aafd1ebf406bd496fd1127a9bdea177e93d7a9f003ea00fe923fa983ea14fe933fa9cbea02fe92bfa9abea16fe93b5a4adfd30f00f423fd443fd3325a4e2b6825ada2d5b486d6d23a5a4f1b68236da2cdb485b600d236da4e3b6827eda2ddb487f6d23eda4f07e8201da2c374848ed2313a4e2700e8249da2d37486ced2393a4f17e8225da2cb7485ae52586ad67f4a4c4928290025a3e4948252522a4a4d69282da5a3f4144e19282365a2cc9485b25236ca4e00392827e5a2dc9487f2523eca4f05a82015a2c254848a52312a4e25a82495a200d25486ca52392a4f81936d44521455a068aa4895a83255a1aa548daa530daa0049b5a836d5a1ba548fea53036a488da83135a1a6d48c9a530b6a49ada835b500a1b6d48eda5307ea489da83375a1aed48dba530fea49bda837f5a1bed48ffa00d3001a488368300da1a1348c86d3081a49a368348da1b1348ec6d3049a48930068324da1a9348da6d30c9a49b36836cda1eb682e5d4f37d08d7413cda39be90016ba95e6d36d743bdd4177d25d7437dd43f7d27d743f3d400fd243f4303d42008fd263f4383d410be8497a8a9ea667e8597a8e16d2227a9e16d30bf422bd44002fd32bf42abd46afd31bf426bd454be86d7a87dea5f7e87dfa803ea48fe86300fa843ea5cfe873fa82bea4afe86bfa86bea5ef68297d4f3fd08ff413fd4ccb006839ada095b48a56d31a5a4beb683d6da08db48936d316da4adb683beda09d00b48b76d31eda4bfb683f1da08374880ed3113a4ac7e8389da093748a4ed319003a4be7e83c5da08b74892ed315ba4a616958ff293125a1a4948c92530a4a4900a92835a5a1b4948ed2533865a08c9489325316ca4ad9283be5a09c948b7253001eca4bf9283f15a08254880a53112a4ac5a83895a092548a4a53192a4be5a8003c054e3c1349515481a2a92255a2ca5485aa5235aa4e35a826d5a2da5487ea00523daa4f0da82135a2c6d4849a52336a4e2da825b5a2d6d486da523b6a4f1d00a82375a2ced485ba5237ea4e3da827f5a2ded487fa523fea4f0368200da2c100348486d2301a4e2368248da2d13486c6d2381a4f1368224da2c93485a6d234009a4e336826cda2d93487aea3b9743ddd4037d24d348f6ea65be8569a4fb7d100ed7407dd4977d1dd740fdd4bf7d1fdf4003d480fd1c3f4083d4a8fd1e3f404002da027e9297a9a9ea167e9395a488be8795a4c2fd08bf412bd4cafd0abf41a00bd4e6fd09bf4162da1b7e91d7a97dea3f7e903fa903ea28fe913fa943ea3cf00e90bfa92bea2afe91bfa96bea3a5f43dfd403fd24ff4332da3e5b48256d22a005a4d6b682dada3f5b48136d226da4c5b682b6da3edb48376d22eda4d7b682f00eda3fd74800ed2213a4c47e8281da3e374824ed2293a4d67e82c9da3f37481002ed225ba4c57e82a85a565fda7c494849252324a4e292825a5a2d49486d252003a4a4fe19481325226ca4c59282b65a3ec948372522eca4d79282fe5a3fc5400800a52212a4c45a82815a3e254824a52292a4d65a82c95a3f21438095324450051058aa68a54892a5315aa4ad5a83ad5a09a548b6a531daa4bf5a83e35a08600d4881a53136a4acda839b5a096d48a5a531b6a4beda83d75a08ed4893a531700ea4adda83bf5a09ed48b7a531fea4bfda83f0da081348806d3101a4ac36838008da091348a46d3181a4be3683c4da089348926d3149a4ad3683acda099348b0066d31cba8ee6d2f57403dd4837d13cba996ea15b693edd46b7d31d7427dd450077d33d742fdd47f7d303f4203d440fd323f4283d468fd313b4809ea4a7e869007a869ea5e768212da2e76931bd402fd24bf432bd42afd26bf43abd416fd25b00b484dea677e85d7a8fdea70fe843fa883ea64fe853fa8c3ea72fe84bfa8abe00a66fe85bfa8e96d2f7f403fd483fd1cfb48c96d30a5a49ab6835ada1b5b48e00d6d306da489b68336da1adb48db6d30eda49bb6837eda1bdb48ff6d3013a480087e8301da1a3748c8ed3093a49a7e8349da1b3748eced305ba4897e8325da100ab14968ef59f1253124a4ac92839a5a094948a52531a4a4be9283d855306ca004899283365a1ac948db2530eca49b92837e5a1bc948ff253012a4885a8301500a1a2548c8a53092a49a5a83495a1b2548eca53e0846491144515289a2a522500aa4c55a82a55a3ea54836a522daa4d75a82ed5a3fad4801a52236a4c4da8290035a3e6d4825a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed483007a522fea4d7da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d0063682c8da3f1348126d2249a4c53682a4da3e9348366d22c9a4d73e83a9a4b00d7d30d7423dd44f3e866ba856ea5f9741bdd4e77d09d7417dd4df7d0bd741f00dd4f0fd083f4103d4c8fd0a3f4183d4e4fd0027a929ea2a7e9197a969ea38500b4889ea7c5f402bd482fd1cbf40abd4aafd1ebf406bd496fd1127a9bdea17700e93d7a9f3ea00fe923fa983ea14fe933fa9cbea02fe92bfa9abea16fe93b5a004adfd30ff423fd443fd3325a4e2b6825ada2d5b486d6d23a5a4f1b68236da200cdb485b6d236da4e3b6827eda2ddb487f6d23eda4f07e8201da2c374848ed200313a4e27e8249da2d37486ced2393a4f17e8225da2cb7485ae52587ad67f4a004c49282925a3e4948252522a4a4d69282da5a3f4144e19282365a2cc9485b2005236ca4e392827e5a2dc9487f2523eca4f05a82015a2c254848a52312a4e2500a82495a2d25486ca52392a4f8193f345521455a068aa4895a83255a1aa548d00aa530daa49b5a876e07f15a92ed5a3fad4801a52236a4c4da82935a3e6d482005a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed4837a522fea4d007da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d63682c8da300f1348126d2249a4c53682a4da3e9348366d22c9a4d81f79a0fbc8f7be03dd20003ef3f1e786fefc0fb6607de933af07ecf81f7520ebc4f71e03d8003efaf1b0078efdac0fbc206de7335f07ea681f70a0dbc0f67e03d2e03ef1f19786fc6c000fb1e06de5330f07e7d81f7c20bbccf5ce03ddc02ef8f1678efb1c0fb7a05de00332bf07e5481f77a0abc8f52e03d8a02efff13786f9dc0fbd604de1326f07e002b81f73209bc4f48e03d3802ef6f1178ef88c0fb3204fe2734f07e028173f50007ce831f38c77ce0fced81f39907ce151e38df75e0fccf81f32107ce0f1c38005f6ee0fcb181f3a906ce2f1a38df66e0fc9381f33106ce4f18385f5fe0fc750081f3b905ce6f1638df57e0fc5781f34105ce8f14385f50e0fc3981f3c904ce00af1238df48e0fc1b81f35104cecf10385f41e0fff703ffcf1ef8ffeec0ff3b0007feff37f0ffb089fff96f76813fb5fdc7a574d82f97987fc1098bf953dcb000983fc9098b79692e2ce629bab09843f5b09855362c707ec6c0f90a03e7ef0b009ccf2e707eb7c0f9ce02e7ff0a9c0f2b707ea8c0f99202e70f0a9c4f27707e0099c0f95602e71f099c8f23707e8a0254900a51612a4245a91815a71254924a0085fdf6922ae87ae6988f5977d5cd3976e9a286c1f76b1ff371c1e27c4b72ef004adc2df8b60ebf735bd7dfb9adfbefdc362de663bde22bbb2e4c34e754f06d0073633e1e2954a44ea636ff9805ff7799f73b63987f8ddb52c67cac18f33176009e248ef918786c038f6b9d98cf23fedc253255d074433dfd2a1115fb053fa60009e00fbc3cf37fcb7b42cd9fd86926c0f4ff71cef2c0a5d99c5fa61f772c81004bba98cf1305cdcbd8ef092c33b1eb4be07aeea0ef0f9e5e58ccf4e24e27f600f6841c6b9588e87eb1d34f9a00d3e7a1fac77984ff31c639bf9d97b1b7259d00f3eb9f1d7c5bb2a0db9206cdcf2271e64f422c6bc1f3276196b5c87f9caff3005acb57ec7a5a7f4e42fcec8801b1d36f1033fdb0ff7cda9171bf103bed86090063af103bfd460933fd41b1d36ffcefcf9bc83f9a78ecb49bfcfbd38ef88373007cfcdfbea3e97f30ed3f3abf48e0d824b0ee958f995eecf62f785b16bb0d4b00e0f52632519c9f1716e76785c5f9f9a9c312769f9428cecf8bf5c49d3fb1d70003c778b1fb87c10327d41f3d6ac2b8befd27341d357e42df51fd07060f217800b21982be1e7c7bf025ee7de2de2feefdd3c5737b2c334dd0d753cc09fbd5d000fef131e86bb19bead84d77cae0fbc7b92d55d06d49e7fcda953ae6f3a4413f0027785ab18e6471ee5f2ee6f3f0988fc983be27f6fb33c4f3f393c7f9f9bf7200c7f3b5e04528eeb492c4f3b5d8fb070ef78bc75c0fccd7d85535e99c5fa61700aa45b272958888585fecbc4f16f6ebc5332ccecf4f16e7fed1319fa78e33de00d85d719dffd039a872dfc84115fa0eea5bb1ef8001d1fdfb668a33fde0791600984fb1bf96b80fbba307fcefb0fbf72fa13aec4e1ff6cbf56c41df13b8340f009a76a238b7b588e7e7ba0fbf23a232c7e34f1a34b6c0e57f8797bfb9fceff000f2bf787819fbab5d92b0df2ebb71f741710fb1e21e82855d631af11debc4fd001949e2995e8339bfbe2de9bf608b6fdd0b8be76bf1d992fc812d693cb6b8d3004dfc3be3b8d6cf093605ffba1e775e278a735b7c76c3b14ec998cfffdbc73a002562aeffef58e7772f1512f858242a81f7cbf11eebc4b79df8bd639df87efd008e3dbef9a3e3a0e0639db8bfb227d05369fd13f8318bfcdf5369ffd1e57fc7003affc5639d42bf4cfa57eb7db2b06b1fa7248b73dfbc311f03cf2fe4bac6f40092ffcef462b72349aef17d0562aea78a671affce3cf9834b647c8e44f138ec00c71ab1cf01fdb78f356ac75c971f6b0c941f6b44ff5d8e3592c4b95f7cdff3007bc7237fd54b7109349ffeef714e9e40d38f9d6fc982e65d7cbf47c6fefcb800dbc3d8dbe3fb181616ffcb1ffff71c7958c21e7bfdded882fdb1cb468638f7008f3b0fae35ad64ffe6b4fe9b8f69f0bc0e7e4cff719f39bfdcf67b2f87278b00735bb239bf1d63e038227fd0fdae750c1cb85fa9a0eb5171e651426e9f136a00bb10b8640ebbf6b14decd7feeeaf5dc53efff0777eed2af65835f818eb7fbf004ffde6f2bfdfa7fe8bbf4f550dfb659e5f6bbb1cfc7c49ecf5f0b0dfee836200bf3781f7215189c27ebb9f8cbbbf0bfef9813f1dc81a737dfc84d1e306361d00d570cac0fe13270c1d3daa7edffe4306061f14c49d48583c838fbd2d51d0d700af759018f77b9204dd3ff862f845ac56cce7ffed5fc4fac75c97ff5d69e45f00f58b5802ad881563a79f2261a61fef2f62c16389bd3d76198e7d3237f87aac0029f63e2d83eed3f21af76915749f5641f7095cfed32798e3fbe5a4459cdb82005f9c6a19e7b6e00d73ac29b0018fddb005aee70d32062eade7fc624f14e7b6003641b7fd452fde0ffadf8bf7ffd2e57f0760bf5cfe7f7f00d620667ab1eb7900f25f7ed42fbf748425e876b642a2383f2f2c2cfe2747627f7eeab004ddaffc00df932329e278e2ce9fd8ed56f0df86f6ef3b62449b714327f59d30b0d1c45100fd03c778c143089e6ce2788678ad43bee0cd6fdcfbc5dde4c7ddccc7ddb407006fce83a77badef8ffbb5d89f1d1ef6dbdfe393c731c67d48e37e2dee73427100bf3f70896f9797e81a1f637f4ed81ffc9cf8ccbff7e7d1ffeecf49e8bfbdcb0010c71afcb31278375731be4382b038f3f0f71ec7e0cd48dc75202c9ef91b1600749fe0e7d09a054d37eefde27ae27b6e2fbedfd9e23e5ef13ddffb47cf1dc6009defa9aef173eac47c1ef1e72e95e2db74c71d7ff03c8ffb78a40cbaeddf7d003c62c7f4ef3e1ec1f328459cdb82d7b524716e0bf6c54ec3f0ab6bd398cfff00dbbfba06eff2c3c37ebbecc6ddb6c7f777657fd5f32bb1cb45ecbc8eeb491e00747bf0fddbc67c0c8cb5679cb105af23bff77a475c43f0fd83c79d34cefc0a005ec753fc35f3eb770f57e29b5fb1f78f5def935fe3fec1f33ff8feb1ff021c00f8bc4fccf5f8f6ab49e2dc96389e69c7b7cec7cec3c0f21aeaf5656095aa030022aa0e1ad8373232326a40c4c03f5a5f42fdf3a32bf6addcbf6fe5c8c8aad1009103a3232bfed1cf8ffd955afe9afffffe85f90f2ea1fa5f8ab461bf5ccf1200733d815f2fecf7df7cbdf07f4fab5cf3f2bfa755fe8b4fab648f995e607d8c00fd5bde51a3270c1d34b5feb8813c3730a0d5c41123860e1a3a705cf09afc7b0047e071ef97e81af7331c0de789f9fcef70341c1634bf823da13ca24d15f433001360fa11c1477e6171c612fc73e3ce83a4f17cdfb596bbc4713efede7d13fd00ce74d3c5735bec34639f440bf6c68e23559c8f5983a69b104742591266faf1003e565983ae678933cee0f95d274486d8e9c5aeb3f13d9313f799c7e0bf4a0a00f6250abd2f322cce25be67da622fb1cb4c96a0afc5cecfff0f02a8a7e6659c000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/yarn-project/protocol-contracts/fixtures/UnconstrainedFunctionBroadcastedEventData.hex b/yarn-project/protocol-contracts/fixtures/UnconstrainedFunctionBroadcastedEventData.hex index 2965325e97f3..164520d20c73 100644 --- a/yarn-project/protocol-contracts/fixtures/UnconstrainedFunctionBroadcastedEventData.hex +++ b/yarn-project/protocol-contracts/fixtures/UnconstrainedFunctionBroadcastedEventData.hex @@ -1 +1 @@ -00000000e7af816635466f128568edb04c9fa024f6c87fb9010fdbffa68b3d9923ced3716a04d81b58822bc3e1843626aa2884888b1a2d2250e79fb7d41a365e16ad977a85a570bedc6785d159f137035d3bf9891042ee3af20488686aec168b0624b9dd486acffb15815318ac8eb07814d48ffeca47da1f4de4a733b723a1e424eb989517d084b2d95f40b9837d5e6d8468dd84e20d6ad727a7617a5eb395e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000d91839191a8b89c75f0ad79c19ba53a8bdfcb25bd4f8d33bfa11f1f52528a8ee58fc25430000000000000000000000000000000000000000000000000000000000001476001f8b08000000000000ffed5dcd8f64c951cfeafae8aeeae9e99ae99e5defee0098a99d9df12e60e07dd597b93402db3266910009c18d5755afec01b36dc6bd00acd707d408092410321c015f913880f803cc85131790b9db075bf2d196ff00005b96ebedbea8faf5afe2bd7aaf2ab3a76777539aa9ea17911191119191999100f9b26ae6fd72b8f857cbbe37b3cf96592f8273967d7abb15df222dcfa59cb500e744cebde744cefa732267c3a29ca96c7573b5d896b7e940afb6656c3d073200ee5bb6bbc8d8c8be1f2cfeb517ff3ae6fdd8bb06c486ed658e93c25303a70a00dc079c3ca21f23e5a4e55ff656df5fca3e7fede9d3f8ddde93b766c9577be7006f5ff4cee7bdc9f9db6fcdbe8215ff1d2adecf3ee38b8be44fbf7cd1bb38ef00c5b359ef9d27175fec9dff79f274fea5f377b0ee37b765fabf3b30fdf6b64c007fb003d31f6fcbf4567d7ba6afd4b764fac91d9886db32fdd4b6153fbd83b400bf05756f679fbf77114fff6451f3bc374b922f23f6bbdb8af8d73b88f8b7db0032fda71d987e6b5ba6dfdd81e91f34b664fa47db56fce2b615df69546be63200d67e2dabd8cefe96b82071fe2cfbdbdbadf86da06b9bfec88be66d73b55896003f6c6734f7ddd01f09fd0337f43d91fbd72f57f4b12dc257bacb672f57bafc002cd449ff1dc17743740506e38bf90d82e1e4f2d304033f369f2158d3accb24007a6b415b2cfa956bbb84d2369c27895e8577db0defa846fc8c59e91f61c2bf00639cf601bf46fc441ed68ff8d651f659bf5cc9d32258e372bd1d026b024cec009b7ebe0a78ec5bfb80f74978ce3edf30eb7d44e062d73ad4b7e8b393b6b9da00976cfb8da677b64903607582a1de714d207a3f59fcfbfce54a8fa2b3b4ec5f003a69d372f17390d16f026fe189b2ef113e7ec75825cf7ed1ac60efb507ea09009f3a3c139ec7d9df2d80b52f37d36a28b4ba0a7e8b68ed2bb4f099b43bed13000fb3efe91a2eb5dfe7324373cc4ccb59f6e96d59c259321c0583b1c82afed00034ebbe2e7cb57e603341e67acc16fa1d8b7a94d2243dfe03d83522fde15860002f71178ddbe66aecb04b7fd0d7e2ac3dfac3a1d06fba913fd1e63616f51f6900f30b8bfa59daf7d009fd60d93f6eb9d1ff721c3d02fa16e3872ff30b59e80b000f63567def189edb8b2d7ebfecdc4ff87748565773bf639287f583f38c14d600556415dddd01983dbfe8f7bb0a6fe485306c4757698746ab6991d6ad1b209700d8e32ed4b7d84fe79aac772db6bb6e91964ddb1ede50b9b6d5bdf8c909d4b700381e459aac2716dbbd6791964ddbda6c637b4b5a62db53a86fd1b69e26eba900c576df54dbd62cd26a11ad63a22363bee02cd7f384ff97d9e791c25fe4157f00b807cf2dce6f0635e2678c3ebfb947b2a23c22774781edb2811dc7e130f2a3002499fb9e1ff8c31ad11759f919fbe00b0abe3657125dbf689ce85acd07bd00007a7d4f3e80dd235813602223e683da44d3b6fc65f48ffcbb0a0c7300556c7900d75cf535d41bf66f63d6fb8ea3bd9ad26b03e1df31ebb1c8c5da60cfacebb400a6e894f719b06e578175e03bc2904f5de1f33cd2e2fd06d4611affff7eef2a00de21d0afe57c8a3cfc8ced714ba1a5adb19fc51e87f0ef90acae7cf988e46100fdb0ee6e2bb2761518fbcc6d858f36465c172d81e11c48da7d6cd67d81d7af009ade8e0a64c0fa82e7d8e7fcb6d27e177b86381797f127edc3ff4a3a93795900137486756f031cf17fa5bea2f96fd9b363c2415b1e9b75dbf29cf29074c2310086edd72ae08330f69396c2a755c0e75609990dd03a5668d5cc7a3fe636a2ad00cab4e35645dedafc5feb039aad96fb43c6690c0c44d63b15db7657c1c7bc1b00c7112d27a1e5a22cce25977df3c4ac1781e1ba146dcfa5417fa3dca90ffd76007d4597f19827f6d75382a10e658eaaadd76de69f79bd65149971be8f7eca4500d393c85d554fe8173c17c73c8aac531caf4d8647c4cf2832e3f959f4792e9a009e44eeaa7a42bff818c1705d24a7d8da8aac16f5343e227e4691f965e08d7300632e9a9e44eeaa7a42bf789960b81e7f25fbce7a4acb59f6197a5130480651009c24a1978cc7a3a91f4e47d32499cee2301e0e47de703649e2593f984c83790038997b499c8cfafe249a0c7d6fba9c97bca4d0f6223f08423f1a4e06236fd400f766d351908ce27e3f1ef78359349b075ed01fcc13af3f0e67e368bc781cf900d3d8f3e65e3c99fbcbbdd69715da7e309ecc67fe2cee2f04f106c16c30e9470051324cc2c164ec0dc341d8f7e683f9245e644382d17441771878e371df1bcf00fb43cf5fee83bea2c91d8f16d8c9c09b798bffe6fdd9c88bfad178168de60b007545336fe047de643c4a66437f188f27fd3088e78370a18d7eb8d8a25ceae400be463b994dfc241887d3709a8cfdc97cea45c9e26b1c2ff4134c170a98c7e30099374ee54d26911726f3893f9dc7c1741286fde15c687f5cd3891ffafd41ec000d46f381177a411844de743c9844a99686d160b0306538190d7d7fda0f160c00a251e007b1df9f4cbd304ae281f8d0cf01ed1af9d003786e71fc9ed5889f3100fa9a4af8774856dbf3ed1af11379583fbca6ea29b2761518c62c84219f9ec20047a3f5718bb41a5bd212ff78156067d967300afad3e1783a1dc4fde964b2c800510e67837834f72783d80f26e1c209e3301c45911727f385d387e345071b4d0047e345e858748fb126e7ab16dbfcb2455adbea4fa3757f4b5a628b87003bcb003efd30f26783617f1e2f2244324dc245d05844f7701a87d1229e86137f3c190024e3e120f0a2c170f16c91541e05d1345a586c96847d4dce8716db6c537f2f0059a4f58a455ad246891918636ad9673ba7de59f6b7b75b19978db7c2bf639c00c67fbf48af0f14bd8aee5e5364ed2a305cab200cf9bca6f0d168ddb148ebae00455a2716699d5aa475cf22ad172cd292b9328fdd024f4b5ba9f72c72c9c2bf00639cc605bf48afdabc47f4f3c88d3c5391e7b122cf8302793ee1469e91c8f300ba224f4f91e78ed17d08f5f518bea3dcc283cf0add29c95bf037e5b838778800b192735cc8fb2cfbf4aa95901fb8cd7704218f15580486f640dd70d994eff800c69679a14704c358fe9860189b3f41308cb5e23fc7665dbf3cee68fbfef88c00e368514e0bebd5723e850f3f633e9accc78a0c3cf6693e7fb780cf89c2e74800a9b76b7b3499b5fceeae7cb03d9c9b3db5c8077d91f3bc98873dcb3ebddd4a00e8f6dc49f558c1be8fb19cfd08633bdbfe7580b1bdde50745c3636e1d9976f0056884d79fb80bf595b3d47fa79fb80b7008ef8c7b00ff86646d36d8ee966d900b6acfd4417a90df61a2bba8cc7edc0fe216dba69faad3acea22e9ef5388be300128fb3a85f1e67b57ca2368fd5c68b0724839637d8368e6b327f34ce6ee6f3002cc659f13d9e37a7e52cfbf4762b91dbfc53f558c1beef7a9cc5fecd458b4d00bdecbbad71f692c6d95e062b3bce0afe8ff65634ff8ac65937398d2062fb1900a5dd683fb62dda8f6d8bf663dba2fdaa8eb3a28baae36c0f60d226b181bcff00f28f59c5d4065faf5dad8f3694f36c29de5f6476737b66a27a3fac7ab6c4c60099893263f64d9bdb543d5b82739b2a7a427bb09ed067584f6ef275419ffbb7005164c6fe5df56c89c85d554fe8173c97c33828f1a56dd6e394453d0d581746009119635dd5b3252277553d75155d68fefd06c1ea0a5db73a2cbf8725fc3b66005d972e72e75aae5a3b53aff507a9db35f96361cdacfb4e4379b65740ebc42200ad96455aa716693db048eb358bb4ba166971cc47dfe37ee8684fa4f41e96f000ef18a771c12fd26bd11ed6eb6ee459ee61bda1c8532f90e7e7ddc8b3dcc3fa0005459ec78a3cb887a5ed4f61db586ee1c17b588d92bc05bfa5e0a38ff11e1600f293badabbe016c7f4e5dd1baf9af522b087c0bb6afe4be4ae9aff423d3d240018c6eed70886718ae30c8e4562b763a3eb57be234cdac8cf38d661fdebcae30034a83d589fc73acd8f1b057c5a0a9f23a5deaeedd164669bdbe083ede9129f00ae453ed7ffde45f5feccfec9f91584696b6a2d37c23ac5f85b752f08dff3a80092a3c27b3c3047f5e3daea39d2c71c15d6e51c95e07f0b72543fcd686af760007d506d5bd67ecbfbff4cb51c158e85d2a69bd677aa8e85e8cbb6c642f4351e000b8bf22c68471e0b59bff21d61d2467e5614d3af6befa4682ce4fb7daa8e85004d858febb1b0497c9a16f9607bae7bcc6d9b755f7c96fd99fdb36cbc64fb6000bc649de2585875bf46f454752cc475098e85dedeea39d2c7b110ebf25828f800ff096361487b006ef25637cbb665ed27baa83a16a20d38fe17e530b15f5a5c008b97be17459e5d570e538be55aae22f563396bf285e4e2f3c9bbbf1f7fe9c9002cbe7872fed6ef267ff676f2950b6c0692d69ac9e66f103bc1e32b443a0a9e00211c0ef745cd127c2ded80615eae39285a2a6a57963e4f532d91bbea544b9b0076ee3ad5c2eb4378aa85fae5749376dd42d1151158ff9064b0717d4db74066002d85c553adaad7f634153e45616fdbf668327f50a65ae27beeaed00efb6eaf0079a91e2bd8f771a8673fb2318dc3fecd458b4da2a7aad338f4079cc69dd334004e60388dc3ba3c8d13fcafc334ee294de3708cf9a0dab6acfd441755a7716800031e5bf83a5163ae1ea9611ac8e3a36bf0d6fddc98edafc1e3d72e77b96eee00458bb47a1669e14fc0a47f97bd060f6d2a750e01ce3f8568ccfad863d91fc200b2fe29fc3b24ab2bffec903cac1ff6cfa26be210c6f3fd5daea3133d39beaa006d79d5959662401bf1156c82ff8dac119832c452a40b4de72c0fe2df269cb400c8fc167d98d3586efce98337ffc19f982a33ffe1798dd065df39227c3c9aaa00e1e33c09f1ff6383af959d8f156d29baddd62f1f13857f8764751513b5ad7400ed5a6eed38a8d4d55e2fa8d1f75385cfa9c247a3257dc4ed31e6554c942dd100bcb4eb29c011ffbf4ac6444d179ace591ec4e7ebead3a21d9de0d7293faca9007dd409171ba9fda2f10bedc93151e46ae5e0e3f88cf8ff5732266ab470aba10068ebcf717f2b1d13857f8764751513b5fea96da98aeeee29b26a57b197e9d700da55ec1a2d8e896e7eae601513e5aab1bc6319183311ff3b2563a2a60b4de7002c0fe2f3cf20a44562a2762de487fde84fd5d79baa1efda999753b6abec3310051e46ae5e0e31121c4ff61c998a8d1c2a34882d73357db9216c757f9948e890037e12a9f1e3ce398f84891b5abc06af4fd91c2e791c247a3c557df3e72a39300654cc457f54456cc1b3e0238e2ffa4644cd474d15374c1f2203eea4064939800883eccaf76f500663126dea8d73a058647cd51275cb498d8cbbe578d893da200cbbec33151e46ae5e00bbd26e11f65326d8a891a2d7c8558f05ea4b618e3fc005ad7d23191af757573bd4bf1b5aea81f8e893d4556ed6a47eed73d854f4fe100a3d1e29f9eecb9d149c07e9a17137b0047fcfb1bfcb448179ace591ec4ef01000ec744f461a9fb61bf2e0875c2458b8955af0baa99753b96898922575e4cc4006b8510ff97b688892f022fb9bea8e82747f8aa3b173111ed9dd7dfee900e04003f2ad9dfb46b02b59f2b6179101f75c0fdedfa5fc958e9ee0474a3e98ed7190082ffab25fc272df8b3731887dfd3cda593b645699fbb0f7be06cc326f0dd6400afb4b07db57c31da49daa7bd12c5afac6a3fa95cd4df317fa5e1e3cf0921fe006736d84b3b47253a382ae0833f69e4d2aec391e749bc149f129fe5d20038e200bfb9410769db53dff95c7dd59e94a79323a2bee7151dd177fdda4e8df819a300cf27857f8764b5dc6797f349ed5c29ea47fa62ea9b2766d52f8c622ba1d59300ca360feab1818c3d6578650e01ba3a9ce7e2b0a1e86a1f6067d9a7b75bf1b500838cfb397c6d3baddb4df6d57dbe6ddb7af357b4dd1c80f1bd4def797ca1be007a8eb0bc0dc70ec011ff6db8fff28fb3efc74afda243c17cc0bc515ddffe26008d082ff1d33db31e50392ef1c080ede17ed924fdd4143a7c9fd6d3928b809a002283665f913f1d4845cf070adced6fd8059ec87c04edd67c8a0f9d0afed74a002e0cb4dfffd3062b9607f15107bc898d93b1e5845aa98707e9b5baec2b4720005f112dedef03854ed1617fcd0ff8dd7feda502adefb3def3368c855e93f0ff0066835dddfef6e8ca2ff14059c3e4dbba49f87f57d22f353f2bf24bed801aea00806d89fe2275eb4a3bb07f687537f9651eadaa7e59f43ba50705f21c923c8800cb8bbca6528fc7b6b468feca075da57e9e7ff32131c1ffe792f17cd3988c8b0020ae23f5d2e2f67dcaf287bc857f47699f8b458a76c819f5c363a436c65fc700fa01f9eefa8ef9f3404b7ce219be875afa0e2f7976d3de43e5f525d62d5a2f00d608867cb464e975d1d2ec9dfe3bcbfef6762ced1c7dd9a2afcdc1f35e3c4400393899756cf2edaaad936dea88c7c18659b731f2e735de7f6f18d7b4b6d50b00dae622918e6d6b14b4cdb1bff8acbbefc3faf87fc817b4176cb47911af4bda008a9eb597111a04d35ed2753be75ed967db39f7ff6fb1d181b64e4be3d249db00d48d0e9c2737812fb6d198f5f5675ab65d17682ff1340986f1eb16c1b4f96800d10b62dad82f7e77acf0633fd4721635921bdb8cf8bc76155be7cdd5392f2300f8df2bb921a3e5808be63ea91cb50ce038f68db417eca414bd44aa5d42c0f3000f2d56b08fb30eb8f0e610ea2295d987bec37852ae3b56babde4e2fdf9445a003e8a57373f5e69345b0534b51890370f6c2afcb4b949faef2cfbdbdbb170cc00c479a0761105c7cc834cd04df93b379ba6de40db7b9352f4d232c7492dde690071428b9355e31dde755825ded51479347f14bcb652cfa2eff845feaec9cc7b008f8e72424b9fd6d6d7a8578e55451bddda3852b417acd94af660d2d2ba5cf100c2b89f96fdcb950c0d055fe468127e2f434efbc243f2aba6c2efbd17ae0af0006a399f22dbdab3acaef49bf6e50ac7b67dd3d2b95ce9a1413c519e3dc2c7ef00683b79f6cb8d152c2d874833fbacc333e129b63d00d8e1e5665a4d855657c1003f205a6d85163e9376a7767e9c217488a765dbf8e8537987771cadb343c773006bcff1d9025f7b1108d73243f04b84e5bdfc963766bf0971e253d9f7a231a600687ea2e579f2ce98d89ebb6a6b1d1efbda6e7897de0711fed77599489be4e100b911dbc6d1652b91c8a3ed236b176ddcc9feb1cd50be43a023cfc4b7343f44005db31ecae4aeb5fdf1aaeb8d1ac1b47d163c9b817d85e9885ef2fa3be76a0500ff77a0bf5f507f477e2e728aec6f8e728a4b7fbbbd41477939c53fdcb08ea900517d63d67396c6545ffff20bc1da3ebea6578e738e2ee459e66af110b3a65700be9047f0e3927ad5f454a457ed90b6963b10dda1ce8f893f9f5b401b48bd9b00eebf4f36e8f919e698facf3ac7c47924f413ce3f6967d1b6cd2361bc1559f7001559d1be3c66b581569598ffd512fe90470be79a3f03c748153949c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +27774539896271d6dbe0c1de45ddc44709d1e8d9a9fb686ca3c105d87c417bb8270cb4f1fb717d14d3eb66bb6e6072c708e46d19d9d7ad2aad0756ee67f101503049fd9d18d6a3e6f07206670af0861939fb59708f11c4bddd4019aad0b7f2ea2caaad89f1bc2bb35d0fe39aede0ffae1f0f38fb3a97b0d79837c0afbfed1f4209fdbed4bd565f3b26f4e878699a7d7c01656991c2301b73a5d853c614ca44a82a4bf9232d7673acf981fd8244941e3acdc98933db06afcccea33872aaad7ebd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000083abd7ca1eef7f2eaafa09e24b0475a918bd7388c4dec305145849f5f84d1b822202b94400000000000000000000000000000000000000000000000000000000000000ca001f8b08000000000000ffb593cb0ec2201045a9c528d2c4c4c77f4c534cbb7400e1da7f20ad2c755137eefae9d664264c88d1057013324c80c35c1e85f02a30004a1121821c312a8c0b365eceed8c39c4a956c1be29f91d18a3bef84b587fa3009059e4e103f1339d3fac9073993c9f7ba17dd773d3ac5f09ff3e72f9a7fbcb00e97fffc3b346af5bcc2be1ffc3f8baf7d7c7f3368a3fd26c919cd29b683b00002abe44fe12f9a1241be7f30f986f84af8fa28ca8d3b5b6768d75f66487c1f4007617f03fe287fd06f3a87a78ce04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/contract_class_registered_event.test.ts.snap b/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/contract_class_registered_event.test.ts.snap new file mode 100644 index 000000000000..74f8f011db72 --- /dev/null +++ b/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/contract_class_registered_event.test.ts.snap @@ -0,0 +1,11 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`ContractClassRegisteredEvent parses an event as emitted by the ContractClassRegisterer 1`] = ` +ContractClassRegisteredEvent { + "artifactHash": Fr<0x1cc15db35c462bf2b8d14998121f5434364db024b7e2bddd0ccd0076cb02dd88>, + "contractClassId": Fr<0x2146f63439ea2a890005e1c9a8a07134e04126c06d79a09c981f49ac701c4722>, + "packedPublicBytecode": Buffer<0x26000204012700000104804d2600000403260202040126020304001f1800030002804c2d08804c0001240000004524000000b12702000104804d26020204003a0d00010002270080430400052a00804400000000000000000100000000000000002b0080450000000000000000000000000000000001000000000000000000000000000000002700804604004027008047040038270080480400042700804904000e2700804a0400032700804b040100252400001e7a28020002005189a4170a380102032602040400260206040300380406052c0801020010010501260302040100280202052c0e040500280502052c0e0405260205040300380205042c0d020400280402042c0e04022c0d020400280402042c0e04022c0d020400280402042c0e04022c0d020400280402042c0e04022c0d020400280402042c0e04022c0d020400280402042c0e04022602040400230200030000015d220000019f26020304052c08000500100003002400001ea32c0400002c0d020300280302032c0e030200280202062c0d0605260207040200380607033a0d00030005220000019f28020003007a81a21e0a380103052602030101260206000626020704012602080000260209040626020a010026020b040223020005000001dd22000006e12c08010c26020d04040010010d0126030c040100280c020d1f2c0007804a000d2c0d0c0d00280d020d2c0e0d0c2c08010d00000102012c0e0c0d2c08010c00000102012c0e040c26020f04102c0800102c0c0d112c0c0c122c0c06130010000f002400001ec52c0400002c0c110e26021004112c0800112c0c0d122c0c0c132c0c061400100010002400001ec52c0400002c0c120f26021104122c0800122c0c0d132c0c0c1400100011002400001fa52c0400002c0c1310002810020d00380d04112c0d110c1c0c0c0d002b02001000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e380d101123020011000002df24000020202c08010d2602100403001001100126030d040100280d02102c0c10112c0e0e1100281102112c0e0f112c08010e26020f04070010010f0126030e040100280e020f2c0c0f102c0e081000281002102c0e081000281002102c0e081000281002102c0e081000281002102c0e081000281002102c0e08102c08010f00000102012c0e0e0f2c08010e260210040a001001100126030e040100280e02102c0c10112c0e081100281102112c0e081100281102112c0e031100281102112c0e081100281102112c0e081100281102112c0e031100281102112c0e081100281102112c0e081100281102112c0e03112c08011000000102012c0e0e102b02000e00083e7911d835097629f0067531fc15cafd79a89beecb39903f69572c636f4a5a2b020011001a7f5efaad7f315c25a918f30cc8d7333fccab7ad7c90f14de81bcc528f9935d2b02001200054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde4022b02001300209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac1262c08011426021504070010011501260314040100281402152c0c15162c0e0e1600281602162c0e111600281602162c0e0a1600281602162c0e121600281602162c0e131600281602162c0e0a162c0c040522000004c10c38050b0e2302000e00001c1822000004d32c0d0f0526020d000226021104060d3080480011001223020012000004f624000020322d04000580032700800404000724000020442d088005000e00280e021101280011804800122c0e0d1226020d04060d308043000d0011230200110000053924000020322d04000e80032700800404000724000020442d0880050005002805020d0128000d804300112c0e08112c0e050f2c0d100d2b02000e002df8b940e5890e4e1377e05373fae69a1d754f6935e6a780b666947431f2cdcd26021104090c3809111223020012000005a624000020322d04000d80032700800404000a24000020442d088005000f00280f021100381109122c0e0e122b02000d002ecd88d15967bc53b885912e0d16866154acb6aac2d3f85e27ca7eefb2c1908326020e040726021204090c380e1213230200130000060d24000020322d04000f80032700800404000a24000020442d088005001100281102120038120e132c0e0d1326020d040826020f04090c380d0f12230200120000064f24000020322d04001180032700800404000a24000020442d088005000e00280e020f00380f0d122c0e0a122c0e0e102c08010d26020f04040010010f0126030d040100280e020f26021004090028050211260212040600280d021342f7000f00110013001000280d020e00380e040f2c0d0f05370c000c0005002802020d2c0d0d0c26020e040200380d0e053a0d0005000c22000006e1280200050032b6bd200a3801050c2302000c000006fc22000008052c08010526020c04030010010c012603050401002805020c1f3c0007000b000c2c0d050c00280c020c2c0e0c052c08010c00000102012c0e050c2c08010500000102012c0e040526020e040f2c08000f2c0c0c102c0c05110010000e0024000020d22c0400002c0c100d00280d020f00380f04102c0d100e26020f04102c0800102c0c0c112c0c05120010000f0024000020d22c0400002c0c110d00280d020c00380c040f2c0d0f051c0c050c002b02000d00000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e380c0d0f2302000f000007e12400002020370c0005000e002802020d2c0d0d0c26020e040200380d0e053a0d0005000c220000080528020005008a4870ec0a3801050c2302000c0000082022000008b02c08010526020c04020010010c012603050401002805020c1f3c00070007000c2c0d050c00280c020c2c0e0c052c08010c00000102012c0e050c2c08010500000102012c0e040526020e040f2c08000f2c0c0c102c0c05112c0c06120010000e00240000214d2c0400002c0c100d3302000d002802020d2c0d0d0c26020e040200380d0e053a0d0005000c22000008b02802000500cd8c9a7a0a3801050c2302000c000008cb22000009d32c08010526020c04020010010c012603050401002805020c1f3c00070007000c2c0d050c00280c020c2c0e0c052c08010c00000102012c0e050c2c08010500000102012c0e040526020e040f2c08000f2c0c0c102c0c05110010000e00240000222d2c0400002c0c100d26020c040e2c08000e2c0c0d0f0010000c0024000022a82c0400002c0c0f051e02000c060a380c050d2302000d0000096f26020e04003b09010e1c0c050c0026020d040126020f040300380d0f0e2c0801050010010e012603050401002805020e2c0e0d0e00280e020e2c0e0d0e26020e04030038050e0d2c0c0d0e2c0e0c0e002805020e2c0d0e0d26020f040200380e0f0c3a0d000c000d22000009d32802000500f99f5a2d0a3801050c260205026f26020d026526020e022026020f0272260210026c26021102772302000c00000a0c2200000cf62c08011226021304020010011301260312040100281202131f3c0007000700132c0d121300281302132c0e13122c08011300000102012c0e12132c08011200000102012c0e041226021504162c0800162c0c13172c0c12182c0c06190010001500240000214d2c0400002c0c17142602130401260216040300381316152c0801120010011501260312040100281202152c0e131500281502152c0e1315260215040300381215132c0c13152c0e141500281202152c0d151426021604020038151613360d00130014260212000a2602130014260214001e2602160403260218040300381618172c0801150010011701260315040100281502172c0e161700281702172c0e1617260217040300381517162c0c16172c0e121700281702172c0e131700281702172c0e141700281502142c0d141326021604020038141612360d0012001326021202642602130248260214022c26021502212c080116260217040e0010011701260316040100281602172c0c17182c0e131800281802182c0e0d1800281802182c0e101800281802182c0e101800281802182c0e051800281802182c0e141800281802182c0e0e1800281802182c0e111800281802182c0e051800281802182c0e0f1800281802182c0e101800281802182c0e121800281802182c0e15182c080112260213040e001001130126031204010028120213260214040d00381413142c0c13150c38151417160c17172302001700000c342c0e081500281502152200000c152c08011300000102012c0e1213260212040d2c0c040c2200000c4f0c380c12142302001400001b9b2200000c612c0d130c260215040d0628150213260217040300381517162c0801140010011601260314040100281402162c0e151600281602162c0e15162602170403003814171600280c02172d04001780032d04001680042d040015800524000022d400281402162c0d16152602170402003816170c360d000c001500280202142c0d14122602150402003814150c3a0d000c00122200000cf62802000c0097b974f70a38010c122302001200000d11220000158c2c08011226021304070010011301260312040100281202131f3c0007000900132c0d121300281302132c0e13122c08011300000102012c0e12132c08011200000102012c0e041226021504162c0800162c0c13172c0c12180010001500240000231a2c0400002c0c1714002814021600381604172c0d17152c0d13142c0d121626021804060c381618192302001900000da82400002032002814021800381816192c0d191700381607180e381618192302001900000dcd240000239526021a04060c38181a1b2302001b00000de42400002032002814021a00381a181b2c0d1b190038160b180e3816181a2302001a00000e0924000023952c0e14132c0e18121c0c1714051c0c140b001c0c1916051c0c16140026021704182c0800182c0c13192c0c121a2c0c061b001000170024000023a72c0400002c0c191626021804192c0800192c0c131a2c0c121b2c0c061c001000180024000023a72c0400002c0c1a17260219041a2c08001a2c0c131b2c0c121c0010001900240000231a2c0400002c0c1b18002818021300381304192c0d19121c0c1213002b02001800000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e381318192302001900000ee024000020202c08011300000102012c0e0a132c08011800000102012c0e08182c080119000001020126021a007f2c0e1a192c08011a000001020126021c041d2c08001d2c0c151e0010001c0024000024872c0400002c0c1e1b2c0d1b1500281502152c0e151b052800148044001500380b1514260215041c2c08001c2c0c141d001000150024000024872c0400002c0c1d0b2c0d0b1400281402142c0e140b260214020026021502bc26021c026a26021d029b26021e02d32c08011f2602200445001001200126031f040100281f02202c0c20212c0e152100282102212c0e1c2100282102212c0e1d2100282102212c0e1e2100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e142100282102212c0e14212c0e1f1a260214042026021504242c0c040c22000012250c380c141c2302001c00001a9022000012372c0d1a0b2802000c045be0cd192802001404bb67ae8528020015043c6ef3722802001a04a54ff53a2802001b04510e527f2802001c049b05688c2802001d041f83d9ab2802001e046a09e6672c08011f2602200409001001200126031f040100281f02202c0c20212c0e1e2100282102212c0e142100282102212c0e152100282102212c0e1a2100282102212c0e1b2100282102212c0e1c2100282102212c0e1d2100282102212c0e0c212c08010c00000102012c0e1f0c2c0801140000010201260215044426021c04202c0800202c0c0b212c0c15222c0c04230010001c0024000024cd2c0400002c0c211a2c0c221b2c0d1a1c00281c021c2c0e1c1a2c0e1b140b28001b8046001c2302001c0000134e220000138e2c08011b26021c04090010011c0126031b040100281a021c00281f021d00281b021e3f3f001e001d001c2c0d1b1a00281a021a2c0e1a1b2c0e1b0c220000138e26021c041d2c08001d2c0c0b1e2c0c151f2d08804600200010001c0024000024cd2c0400002c0c1e1a2c0c1f1b2c0d1a0b00280b020b2c0e0b1a2c0e1b140b28001b8046000b2302000b000013e122000013ea2c0e041422000013ea2c0d140b26021b008626021d041e2c08001e2c0c1a1f2c0c0b202c0c0b212c0c1b220010001d0024000027bb2c0400002c0c1f1c2c0d1c1a00281a021a2c0e1a1c00380b071a0e380b1a1b2302001b0000144224000023952c0e1a142c0d1c0b00280b020b2c0e0b1c0d308047001a000b2302000b0000146822000014b02c0d0c0b2c08011a26021b04090010011b0126031a040100281c021b00280b021d00281a021e3f3f001e001d001b2c0d1a0b00280b020b2c0e0b1a2c0e1a0c2c0e041422000014b02c0d140b26021a041d2c08001d2c0c1c1e2c0c0b1f2c0c15200010001a0024000028d32c0400002c0c1e142c0d140b00280b020b2c0e0b142c0d0c0b260215041a2c08001a2c0c141b2c0c0b1c00100015002400002d972c0400002c0c1b0c2c0d0c0b00280b020b2c0e0b0c260214041a2c08001a2c0c0c1b00100014002400002fbf2c0400002c0c1b0b26020c041a2c08001a2c0c131b2c0c181c2c0c191d2c0c0b1e2c0c161f2c0c12202c0c17210010000c00240000312e2c04000000280202122c0d120c2602130402003812130b3a0d000b000c220000158c2802000b009756f6200a38010b0c2302000c000015a7220000174d2c08010b26020c04050010010c0126030b040100280b020c1f2c00078048000c2c0d0b0c00280c020c2c0e0c0b2c08010c00000102012c0e0b0c2c08010b00000102012c0e040b26021304142c0800142c0c0c152c0c0b162c0c061700100013002400003db02c0400002c0c151226021404152c0800152c0c0c162c0c0b172c0c061800100014002400003db02c0400002c0c161326021504162c0800162c0c0c172c0c0b1800100015002400003e902c0400002c0c1714002814021600381604172c0d17151c0c1514002b02001600000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e3814161723020017000016a9240000202026021604172c0800172c0c0c182c0c0b192c0c061a00100016002400003db02c0400002c0c18142c08010b00000102012c0e0a0b2c08010c00000102012c0e080c2c0801080000010201260216004a2c0e160826021604172c0800172c0c0b182c0c0c192c0c081a2c0c121b2c0c131c2c0c151d2c0c141e0010001600240000312e2c040000002802020c2c0d0c0b260212040200380c12083a0d0008000b220000174d2802000800eb2b616b0a3801080b2302000b00001768220000195c2c08010126020804070010010801260301040100280102081f3c0007000900082c0d010700280702072c0e07012c08010700000102012c0e01072c08010100000102012c0e040126020904122c0800122c0c07132c0c01142c0c0615001000090024000023a72c0400002c0c130826020b04122c0800122c0c07132c0c01142c0c06150010000b0024000023a72c0400002c0c130926020c04122c0800122c0c07132c0c01142c0c06150010000c0024000023a72c0400002c0c130b26021204132c0800132c0c07142c0c01150010001200240000231a2c0400002c0c140c26021304142c0800142c0c0c15001000130024000022a82c0400002c0c151226021304142c0800142c0c07152c0c01162c0c0617001000130024000023a72c0400002c0c150c26021404152c0800152c0c07162c0c01172c0c0618001000140024000023a72c0400002c0c16131e020001030a3801080623020006000018cb2400003f0b1e020001040a3801090623020006000018e22400003f1d1e020001050a38010b0623020006000018f92400003f2f1e020001060a3801120623020006000019102400003f411e020001080a38010c0623020006000019272400003f531e020001070a38011306230200060000193e2400003f6500280202072c0d0706260208040200380708013a0d00010006220000195c260201026e26020202742602060263260207026b260208027326020902552c08010b26020c04110010010c0126030b040100280b020c2c0c0c122c0e091200281202122c0e011200281202122c0e071200281202122c0e011200281202122c0e051200281202122c0e111200281202122c0e011200281202122c0e0e1200281202122c0e081200281202122c0e0d1200281202122c0e101200281202122c0e0d1200281202122c0e061200281202122c0e021200281202122c0e051200281202122c0e0f120a380a03012302000100001a8f26020204122c080105260206041200100106012c0c05062903000605e58f985907316290002806020600280b020726020804102d04000780032d04000680042d040008800524000022d4260207041000380607062c0e040600280602063b0d0502252c0d1a1c0128000c8048001d0e380c1d1e2302001e00001aae240000239526021f04200c380c1f202302002000001ac5240000203200281b021f00381f0c202c0d201e26022004440c381d20212302002100001aea24000020322d04001c80032700800404004524000020442d088005001f00281f02200038201d212c0e1e2100380c151c0e380c1c1d2302001d00001b27240000239526021e04200c380c1e202302002000001b3e240000203200280b021e00381e0c202c0d201d26022004440c381c20212302002100001b6324000020322d04001f80032700800404004524000020442d088005001e00281e02200038201c212c0e1d212c0e1e1a00380c071c2c0c1c0c22000012252c0d1314260217040d0c380c17182302001800001bb6240000203200281602170038170c182c0d18151c0c151700260218040d0c380c18192302001900001be024000020322d04001480032700800404000e24000020442d088005001500281502180038180c192c0e17192c0e151300380c07142c0c140c2200000c4f2c0d0f0e26021204020c380512132302001300001c33240000203200280d021200381205132c0d13111c0c1113051c0c131200023811121309280013804400151c0c1516051c0c1613000238151316092800168044001505280013804400160038161213053080450015001200381312160a381116122302001200001c9f26021704003b0901170438050b1126021604060c381116172302001700001cbb24000020322d04000e80032700800404000724000020442d0880050012002812021600381611172c0e1317003811070e26021304060c380e13162302001600001cfd24000020322d04001280032700800404000724000020442d088005001100281102130038130e162c0e15162c0e110f2c0d100e05280005804a001126021304060c381113152302001500001d4a2400002032002814021300381311152c0d1512003811071326021604060c381316172302001700001d742400002032002814021600381613172c0d17150038110b1626021804060c381618192302001900001d9e2400002032002814021800381816192c0d191726021804090c381118192302001900001dc324000020322d04000e80032700800404000a24000020442d0880050016002816021800381811192c0e121926021104090c381311122302001200001e0024000020322d04001680032700800404000a24000020442d088005000e00280e021100381113122c0e1512003813071126021304090c381113152302001500001e4224000020322d04000e80032700800404000a24000020442d0880050012002812021300381311152c0e17152c0e1210003805070e2c0c0e0522000004c1270080040478000d000000800480032300800300001ea22901000105f7a1f3afa5add4ca3b010102252400001e7a1e020001011e020002000a380102032302000300001ec42400003f77252400001e7a26020604072c0800072c0c01082c0c020900100006002400001fa52c0400002c0c080526020100060a380301022602010400002805020700380701082c0d08062302000200001f972200001f1726020100080a380301022302000200001f522200001f2e260201001b0a380301022302000200001f4926020504003b0901052c0c06042200001fa01c0c0601002b02000200000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e380102032302000300001f8e24000020202c0c06042200001fa02c0c06042200001fa02c0c0401252400001e7a2c0d01032c0d020426020604030c380406072302000700001fc92400002032002803020600380604072c0d07052c08010626020704020010010701260306040100280602072c0c07082c0e0508260205040100380405070e38040708230200080000201324000023952c0e03012c0e07022c0c06012529010001055a02e41bb51ea99f3b010102252901000105e89d09fea1112d0e3b010102252d01800380060b00800600028007230080070000205f220000206a2d008003800522000020d12d0000018005010000018004000101008003800480092d008003800a2d008005800b0b00800a8009800c2300800c000020bd2d01800a80082d028008800b0100800a0002800a0100800b0002800b220000208c27018005040001030080060002800622000020d1252400001e7a2c0d01032c0d020426020604020c3804060723020007000020f62400002032002803020600380604072c0d07052c08010626020704020010010701260306040100280602072c0c07082c0e0508260205040100380405070e38040708230200080000214024000023952c0e03012c0e07022c0c0601252400001e7a26020604072c0800072c0c01082c0c02090010000600240000222d2c0400002c0c080526020100060a380301022602010400002805020700380701082c0d0806230200020000221f220000219f26020100080a3803010223020002000021da22000021b6260201001b0a3803010223020002000021d126020504003b0901052c0c060422000022281c0c0601002b02000200000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e38010203230200030000221624000020202c0c060422000022282c0c060422000022282c0c0401252400001e7a2c0d01032c0d020426020604010c3804060723020007000022512400002032002803020600380604072c0d07052c08010626020704020010010701260306040100280602072c0c07082c0e0508260205040100380405070e38040708230200080000229b24000023952c0e03012c0e07022c0c0601252400001e7a2602020400002801020400380402052c0d05031c0c0302051c0c0201001c0c0102052c0c02012501008003800580072d00800380082d00800480090b0080088007800a2300800a000023192d01800880062d02800680090100800800028008010080090002800922000022e8252400001e7a2c0d01032c0d020426020604060c38040607230200070000233e2400002032002803020600380604072c0d07052c08010626020704020010010701260306040100280602072c0c07082c0e0508260205040100380405070e38040708230200080000238824000023952c0e03012c0e07022c0c060125290100010545a7ca711941e4153b010102252400001e7a26020604072c0800072c0c01082c0c02090010000600240000231a2c0400002c0c080526020100060a380301022602010400002805020700380701082c0d0806230200020000247922000023f926020100080a3803010223020002000024342200002410260201001b0a38030102230200020000242b26020504003b0901052c0c060422000024821c0c0601002b02000200000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e38010203230200030000247024000020202c0c060422000024822c0c060422000024822c0c0401252400001e7a26020301002c080102260204042100100104012603020401002802020426020504204303b00001804b0005000300042c0d020100280102012c0e01022c0c0201252400001e7a26020504002c0801062602070411001001070126030604010028060207260208041000380807082c0c07090c3809080a160c0a0a2302000a0000251c2c0e0509002809020922000024fd2c08010700000102012c0e060701280003804600060e38030608230200080000254324000023950c38020608230200080000256022000025552d088046000422000025a40c380203082302000800002592220000257202380203080e3803020923020009000025892400003f892c0c0806220000259b2c0c0506220000259b2c0c060422000025a407280004804800022c08010600000102012c0e02062602090404063804090a04380a090b0238040b080a380805092602080401230200090000260422000025e400380208090e3802090a2302000a000025fb24000023952c0e090622000026042c0d0609260206020026020a02012c0c0502220000261b0c3802090b2302000b00002636220000262d2c0d07012c0c0402252c08010c00000102012c0e050c052800028048000d26020f04000b28000f8048000e2302000e0000267a0728000d804800110a38110210230200100000267a2400003f9b2c0c050b22000026830d28000b8048000e2302000e000026ef22000026982c0d070b2c0d0c0d26020e04100c38020e0f2302000f000026b724000020322d04000b80032700800404001124000020442d088005000c00280c020e00380e020f2c0e0d0f003802080b2c0e0c072c0c0b02220000261b00380d0b0f0e380d0f10230200100000270624000023950c380f0410230200100000272122000027182c0c060e22000027660038030f100e380310112302001100002738240000239526021104440c38101112230200120000274f2400002032002801021100381110122c0d120f2c0c0f0e22000027662c0d0c0f26021104122c0800122c0c0f132c0c0a1400100011002400003fad2c0400002c0c13101c0c0e0f040038100f0e0e38100e1123020011000027a924000023952c0e0e0c00380b080e2c0c0e0b22000026832400001e7a2c0d010600280602062c0e0601072800028048000626020704100c3806070823020008000027ec2400002032002801020700380706082c0d080226020700650a3804070826020702802302000800002861220000281626020800860a38040809230200090000283126020a04003b09010a26020804092c0800092c0c020a2c0c030b2c0c070c001000080024000040342c0400002c0c0a042c0c0405220000289126020804092c0800092c0c020a2c0c030b2c0c070c001000080024000040342c0400002c0c0a042c0c0405220000289126020304100c3806030423020004000028a824000020322d04000180032700800404001124000020442d0880050002002802020300380306042c0e05042c0c0201252400001e7a2c0d010400280402042c0e04012c08010400000102012c0e01042c08010500000102012c0e0205260207040406380207080438080709023802090626020704000a380607082302000800002a3f220000292a072800028048000803308048000600090f2800068048000a2302000a0000294f2400003f8926020a04100c38080a0b2302000b000029662400002032002801020a00380a080b2c0d0b061c0c090b021c0c0b0a041c0c0a0b0226020a020804380a0b0c26020e02000a380e0b0d2302000d000029b606380c0b100a38100a0f2302000f000029b62400003f9b1a38060c0a26020c040d2c08000d2c0c0a0e2c0c0b0f0010000c002400003fad2c0400002c0c0e0626020b04100c38080b0c2302000c000029f524000020322d04000180032700800404001124000020442d088005000a00280a020b00380b080c2c0e060c2c0e0a0400380209010e380201062302000600002a3624000023952c0e01052200002a3f2c0d0502072800028048000526020204012c0c05012200002a590d280001804900052302000500002d442200002a6e2602050408043805030626020904000a380903082302000800002aa1063806030b0a380b050a2302000a00002aa12400003f9b1c0c06030026020601002c080105260208040900100108012603050401002805020826020904084303b00003804b000900060008260203040226020602012c0c07012200002ae80c380103072302000700002aff2200002afa2c0d040125052800018048000726020904000b280009804800082302000800002b36072800078048000b0a380b010a2302000a00002b362400003f9b2c0d040801308049000100090f3080490009000a2302000a00002b57240000239526020b04080c38070b0c2302000c00002b6e2400002032002805020b00380b070c2c0d0c0a003807020b0e38070b0c2302000c00002b93240000239526020d04080c380b0d0e2302000e00002baa2400002032002805020d00380d0b0e2c0d0e0c003807030b0e38070b0d2302000d00002bcf240000239526020e04080c380b0e0f2302000f00002be62400002032002805020e00380e0b0f2c0d0f0d01280007804a000b0e38070b0e2302000e00002c0e240000239526020e04080c380b0e0f2302000f00002c252400002032002805020e00380e0b0f2c0d0f071c0c0a0b0426020e040f2c08000f2c0c0b102c0c06110010000e002400003fad2c0400002c0c100a1c0c0c0b0400380a0b0c0e380a0c0e2302000e00002c77240000239526020b040e2c08000e2c0c0c0f2c0c06100010000b002400003fad2c0400002c0c0f0a1c0c0d0b0400380a0b0c0e380a0c0d2302000d00002cb6240000239526020b040d2c08000d2c0c0c0e2c0c060f0010000b002400003fad2c0400002c0c0e0a1c0c070b0400380a0b070e380a070c2302000c00002cf5240000239526020b04100c38090b0c2302000c00002d0c24000020322d04000880032700800404001124000020442d088005000a00280a020b00380b090c2c0e070c2c0e0a0400380102072c0c07012200002ae82c0d040526020804100c380108092302000900002d5f24000020322d04000580032700800404001124000020442d0880050006002806020800380801092c0e070900380102052c0e06042c0c05012200002a592400001e7a2c0d020400280402042c0e04022c080104000001020126020502002c0801062602070421001001070126030604010028060207260208042000380807082c0c07090c3809080a160c0a0a2302000a00002dfc2c0e050900280902092200002ddd2c08010500000102012c0e06052c0801062602070409001001070126030604010028010207002802020800280602093f3f0009000800072c0d060100280102012c0e01062c0e06042602010400260202040126020604082c0c01032200002e5c0c380306072302000700002e732200002e6e2c0d0501252c0d040826020a04080c38030a0b2302000b00002e8e2400002032002808020a00380a030b2c0d0b091c0c09080026020a01002c08010926020b04050010010b012603090401002809020b26020c04044303b00008804b000c000a000b053080480003000826020b04000a380b030a2302000a00002f04063808030d0b28000d8048000c2302000c00002f042400003f9b2c0c01072200002f0d0d2800078048000a2302000a00002f302200002f2200380302072c0c07032200002e5c2c0d050a003808070b0e38080b0c2302000c00002f4b240000239526020d04040c38070d0e2302000e00002f622400002032002809020d00380d070e2c0d0e0c26020e04200c380b0e0f2302000f00002f8724000020322d04000a80032700800404002124000020442d088005000d00280d020e00380e0b0f2c0e0c0f2c0e0d05003807020a2c0c0a072200002f0d2400001e7a2c080103000001020126020400012c0e04032c080104000001020126020500002c0e05042c08010600000102012c0e05062602050401260207041e260208040f2702000900010026020a04002c0c0a0222000030190c3802080a2302000a00003067220000302b2c0d0602002801020700380708092c0d09051c0c0501002c0d0305043801050300380203012c0e01062c0d0402043802050300380103022c0c0201252c0d060a023807020b0e3802070c2302000c000030822400003f8926020d04200c380b0d0e2302000e000030992400002032002801020d00380d0b0e2c0d0e0c1c0c0c0b002c0d030c04380b0c0d00380a0d0b2c0e0b0604380c090a2c0e0a032c0d040b033080490002000c0f2800028049000d2302000d000030e82400003f8926020e04200c380c0e0f2302000f000030ff2400002032002801020e00380e0c0f2c0d0f0d1c0c0d0c0004380c0a0d00380b0d0a2c0e0a04003802050a2c0c0a0222000030192400001e7a26020900142c08010a26020b04030010010b0126030a040100280a020b2c0c0b0c2c0e090c00280c020c2c0e050c2a020009000000000000000002000000000000000026020f04102c0800102c0c09110010000f0024000041442c0400002c0c110b2c0c120c2c0c130d2c0c140e2c0d0b0900280902092c0e090b2c08010900000102012c0e0b092c0d0c0b00280b020b2c0e0b0c2c08010b00000102012c0e0c0b2c08010c00000102012c0e0d0c2c08010d00000102012c0e0e0d26020e040126020f040026021004022c0c0f0822000032070c380810012302000100003d40220000321926020304102c0800102c0c09112c0c0b122c0c0c132c0c0d14001000030024000041eb2c0400002c0c11021e020003031e020008001e0200090426020a02002c08010b26020c04e10010010c0126030b040100280b020c26020d04e000380d0c0d2c0c0c100c38100d11160c1111230200110000329d2c0e0a100028100210220000327e2c08010a00000102012c0e0b0a26020c04102c0800102c0c06110010000c0024000024872c0400002c0c110b2c0d0b0600280602062c0e060b26020c04102c0800102c0c03110010000c0024000024872c0400002c0c11062c0d060300280302032c0e030626020c04102c0800102c0c08110010000c0024000024872c0400002c0c11032c0d030800280802082c0e080326020c04102c0800102c0c09110010000c0024000024872c0400002c0c11082c0d080900280902092c0e090826020c04102c0800102c0c04110010000c0024000024872c0400002c0c11092c0d090400280402042c0e040926020c04102c0800102c0c02110010000c0024000024872c0400002c0c11042c0d040200280202022c0e020426020c04102c0800102c0c07110010000c0024000024872c0400002c0c11022c0d020c00280c020c2c0e0c0226020c04a026020d0480260210042026021104c026021204602c0c0f0122000034000c3801101323020013000039ef22000034122c0d0a022c0801032602040411001001040126030304010028030204260206041000380604062c0c04080c38080609160c0909230200090000345b2c0e0f080028080208220000343c2c08010400000102012c0e030428020003049b05688c28020006043c6ef37228020008045be0cd192802000904510e527f2802000a04bb67ae852802000b041f83d9ab2802000c04a54ff53a2802000d046a09e6672c08011026021204090010011201260310040100281002122c0c12132c0e0d1300281302132c0e0a1300281302132c0e061300281302132c0e0c1300281302132c0e091300281302132c0e031300281302132c0e0b1300281302132c0e08132c08010300000102012c0e10032c08010600000102012c0e0f0626020804e02c0c0f0122000035370d280001804a000923020009000038d1220000354c26020a04122c0800122c0c02132c0c08142c0c11150010000a00240000426f2c0400002c0c13012c0c14092c0d010200280202022c0e02012c0e01042c0e09060b2800098046000223020002000035a122000035aa2c0e0f0622000035aa2c0d0602260209006526020b04102c0800102c0c01112c0c02122c0c02132c0c09140010000b0024000027bb2c0400002c0c110a2c0d0a0100280102012c0e010a2c0e0a040038020e010e38020109230200090000360624000023952c0e01062c0d0a0200280202022c0e020a0d30804700010002230200020000362c22000036742c0d03012c08010226020904090010010901260302040100280a0209002801020b002802020c3f3f000c000b00092c0d020100280102012c0e01022c0e02032c0e0f0622000036742c0d060226020904102c0800102c0c0a112c0c02122c0c0813001000090024000028d32c0400002c0c11062c0d060200280202022c0e02062c0e06042c0d030226020404102c0800102c0c06112c0c021200100004002400002d972c0400002c0c11032c0d030200280202022c0e020326020404102c0800102c0c031100100004002400002fbf2c0400002c0c110226020300052c08010426020604040010010601260304040100280402062c0c06082c0e030800280802082c0e020800280802082c0e05082c0d040300280302032c0e03042a020003000000000000000003000000000000000026020a04102c0800102c0c03110010000a0024000041442c0400002c0c11052c0c12062c0c13082c0c14092c0d050300280302032c0e03052c08010300000102012c0e05032c0d060500280502052c0e05062c08010500000102012c0e06052c08010600000102012c0e08062c08010800000102012c0e09082c0c0f0122000037de0d280001804a0009230200090000386122000037f326020404092c0800092c0c030a2c0c050b2c0c060c2c0c080d001000040024000041eb2c0400002c0c0a011e02000300323800010003000426020301000a380403052302000500003842240000455d34380002000700032602020101230200030000385c240000456f3302000125230200090000386e22000038c326020a04030c38010a0b2302000b000038852400002032002804020a00380a010b2c0d0b0926020a040f2c08000f2c0c03102c0c05112c0c06122c0c08132c0c09140010000a0024000045812c04000022000038c30038010e092c0c090122000037de053080460001000926020b04000a380b010a2302000a00003905063809010d0b28000d8046000c2302000c000039052400003f9b26020c04122c0800122c0c02132c0c08142c0c09150010000c00240000426f2c0400002c0c130a2c0c140b2c0d0a0c00280c020c2c0e0c0a0c3809080c2302000c0000394f22000039652c0d0a0900280902092c0e090a2c0e0a0422000039652302000c00003972220000397b2c0e0b06220000397b2c0d06090b2800098046000a04380c0a09230200090000399922000039e12c0d04092c0d030a2c08010b26020c04090010010c0126030b0401002809020c00280a020d00280b02103f3f0010000d000c2c0d0b0900280902092c0e090b2c0e0b0322000039e10038010e092c0c090122000035372c0d0a1326021504200c380115162302001600003a0a240000203200280b021500381501162c0d161426021604e00c380116172302001700003a2f24000020322d0400138003270080040400e124000020442d0880050015002815021600381601172c0e141700380110130e380113142302001400003a6c240000239526021604200c380116172302001700003a832400002032002806021600381601172c0d171426021704e00c381317182302001800003aa824000020322d0400158003270080040400e124000020442d0880050016002816021700381713182c0e141801280001804600130e380113142302001400003ae8240000239526021504200c380115172302001700003aff2400002032002803021500381501172c0d171426021704e00c381317182302001800003b2424000020322d0400168003270080040400e124000020442d0880050015002815021700381713182c0e141800380112130e380113142302001400003b61240000239526021604200c380116172302001700003b782400002032002808021600381601172c0d171426021704e00c381317182302001800003b9d24000020322d0400158003270080040400e124000020442d0880050016002816021700381713182c0e14180038010d130e380113142302001400003bda240000239526021504200c380115172302001700003bf12400002032002809021500381501172c0d171426021704e00c381317182302001800003c1624000020322d0400168003270080040400e124000020442d0880050015002815021700381713182c0e14180038010c130e380113142302001400003c53240000239526021604200c380116172302001700003c6a2400002032002804021600381601172c0d171426021704e00c381317182302001800003c8f24000020322d0400158003270080040400e124000020442d0880050016002816021700381713182c0e141800380111130e380113142302001400003ccc240000239526021504200c380115172302001700003ce32400002032002802021500381501172c0d171426021704e00c381317182302001800003d0824000020322d0400168003270080040400e124000020442d0880050015002815021700381713182c0e14182c0e150a0038010e132c0c130122000034002302000100003d4d2200003da226020204020c380802032302000300003d64240000203200280a020200380208032c0d030126020204112c0800112c0c09122c0c0b132c0c0c142c0c0d152c0c0116001000020024000045812c0400002200003da20038080e012c0c010822000032072400001e7a26020604072c0800072c0c01082c0c020900100006002400003e902c0400002c0c080526020100060a380301022602010400002805020700380701082c0d08062302000200003e822200003e0226020100080a380301022302000200003e3d2200003e19260201001b0a380301022302000200003e3426020504003b0901052c0c06042200003e8b1c0c0601002b02000200000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0e380102032302000300003e7924000020202c0c06042200003e8b2c0c06042200003e8b2c0c0401252400001e7a2c0d01032c0d020426020604040c380406072302000700003eb42400002032002803020600380604072c0d07052c08010626020704020010010701260306040100280602072c0c07082c0e0508260205040100380405070e380407082302000800003efe24000023952c0e03012c0e07022c0c0601252901000105be11c73bbb04a4fc3b0101022529010001057425c86e086b03c13b010102252901000105e3b1cb17b4b196ae3b010102252901000105203960faa7b733883b01010225290100010597178cf85aace5563b0101022529010001053b7ee0a2f674688e3b01010225290100010565a49ce5d4594d753b010102252901000105288692b047dcfd433b010102252901000105646188a8c6cf94cb3b010102252400001e7a26020404000a3801040523020005000040262200003fc92602040208043804020526020702000a380702062302000600003ffc06380502090a380904082302000800003ffc2400003f9b183801050226020102200c380501042602010101230200040000401d24000046b02c0c0203220000402f2c0c0403220000402f2c0c0301252400001e7a260205040406380205060438060507023802070403308048000400020f28000480480005230200050000406a2400003f891c0c0206021c0c0605041c0c0502022602050208043805020626020802000a3808020723020007000040ac063806020a0a380a050923020009000040ac2400003f9b1a3801060526020604072c0800072c0c05082c0c020900100006002400003fad2c0400002c0c08011c0c0302040330804a000400030f280004804a000523020005000040f62400003f891c0c0305021c0c0504041c0c04030226020504062c0800062c0c02072c0c030800100005002400003fad2c0400002c0c070400380104020e38010203230200030000413f24000023952c0c0201252400001e7a26020200002c08010326020404040010010401260303040100280302042c0c04052c0e020500280502052c0e020500280502052c0e02052c0d030400280402042c0e04032c08010426020504050010010501260304040100280402052c0c05062c0e020600280602062c0e020600280602062c0e020600280602062c0e0106260201040026020201002c0c02052c0c01062c0c04022c0c05042c0c03012c0c0603252400001e7a2c0d040526020601000a38050607230200070000420f26020804003b09010826020504062c0800062c0c01072c0c02082c0c03092c0c040a001000050024000046c22c0400002c0d01052c0d02062c0d03072c0e05012c0e06022c0e070326020101012c0e01042602010400002806020300380301042c0d04022c0c0201252400001e7a26020504002c0801062602070411001001070126030604010028060207260208041000380807082c0c07090c3809080a160c0a0a2302000a000042be2c0e05090028090209220000429f2c08010700000102012c0e060701280003804600060e3803060823020008000042e524000023950c38020608230200080000430222000042f72d088046000422000043460c380203082302000800004334220000431402380203080e38030209230200090000432b2400003f892c0c0806220000433d2c0c0506220000433d2c0c0604220000434607280004804800022c08010600000102012c0e02062602090404063804090a04380a090b0238040b080a38080509260208040123020009000043a6220000438600380208090e3802090a2302000a0000439d24000023952c0e090622000043a62c0d0609260206020026020a02012c0c050222000043bd0c3802090b2302000b000043d822000043cf2c0d07012c0c0402252c08010c00000102012c0e050c052800028048000d26020f04000b28000f8048000e2302000e0000441c0728000d804800110a38110210230200100000441c2400003f9b2c0c050b22000044250d28000b8048000e2302000e00004491220000443a2c0d070b2c0d0c0d26020e04100c38020e0f2302000f0000445924000020322d04000b80032700800404001124000020442d088005000c00280c020e00380e020f2c0e0d0f003802080b2c0e0c072c0c0b0222000043bd00380d0b0f0e380d0f1023020010000044a824000023950c380f041023020010000044c322000044ba2c0c060e22000045080038030f100e3803101123020011000044da240000239526021104e00c3810111223020012000044f12400002032002801021100381110122c0d120f2c0c0f0e22000045082c0d0c0f26021104122c0800122c0c0f132c0c0a1400100011002400003fad2c0400002c0c13101c0c0e0f040038100f0e0e38100e11230200110000454b24000023952c0e0e0c00380b080e2c0c0e0b2200004425290100010561be47556b1380913b010102252901000105b87a3944b3b13c563b010102252400001e7a2c0d03062c0d040726020801000a3807080923020009000045a926020a04003b09010a0b280006804a00072602060401230200070000463c22000045c32c0d01072c0d02082c0d03092c0d040a26020c04030c38090c0d2302000d000045ea24000020322d04000780032700800404000424000020442d088005000b00280b020c00380c090d2c0e050d00380906050e38090507230200070000462724000023952c0e0b012c0e08022c0e05032c0e0a0422000046af26020704082c0800082c0c01092c0c020a2c0c030b2c0c040c001000070024000046c22c0400002c0d01072c0d02082c0d040926020a04002d04000780032700800404000424000020442d088005000b00280b020c00380c0a0d2c0e050d2c0e0b012c0e08022c0e06032c0e090422000046af252901000105c96f933b139de9163b010102252400001e7a260206040026020704012c0c060522000046da0d280005804a0006230200060000474522000046ef2c0d01052c0d02062c0d03072c0d04082c08010926020a04050010010a012603090401002806020a26020b0404002809020c3e0f000a000c2c0d090600280602062c0e06092c0e05012c0e09022c0e07032c0e0804252c0d03060c380506080038050706230200080000476022000048112c0d01082c0d02092c0d030a2c0d040b26020d04040c38050d0e2302000e000047872400002032002809020d00380d050e2c0d0e0c26020e04030c38050e0f2302000f000047ac2400002032002808020e00380e050f2c0d0f0d00380c0d0e26020d04040c38050d0f2302000f000047d624000020322d04000980032700800404000524000020442d088005000c00280c020d00380d050f2c0e0e0f2c0e08012c0e0c022c0e0a032c0e0b0422000048112c0c060522000046da2d0018ca18ca>, + "privateFunctionsRoot": Fr<0x01ebc21157ceca1255b54f0a5a4843ef36334372d8e1b0096787a648b464c1af>, + "version": 1, +} +`; diff --git a/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/private_function_broadcasted_event.test.ts.snap b/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/private_function_broadcasted_event.test.ts.snap index 087e37bfe5ca..98946eb8d69b 100644 --- a/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/private_function_broadcasted_event.test.ts.snap +++ b/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/private_function_broadcasted_event.test.ts.snap @@ -4,28 +4,28 @@ exports[`PrivateFunctionBroadcastedEvent parses an event as emitted by the Contr PrivateFunctionBroadcastedEvent { "artifactFunctionTreeLeafIndex": 5, "artifactFunctionTreeSiblingPath": [ - Fr<0x0aa8c40de16e14b1d7789457012932df51eab8d07d3506a2bf3c0dd0d03cab15>, + Fr<0x0a3e92c5ed495ea48c51f5a0382513a803cc73b357a6771bbc41530ae4c4bc3d>, Fr<0x03b075046b71ff5f8e0792de4b82ddc979fcb3b8c03abe12972e65c57759fb46>, - Fr<0x1d1c34ad4b418b30c4c8b87939b97bc03d94d24d469d3cb2f419ffe6bd93f96c>, + Fr<0x2cee63a8ffb1c63b886b7dba5ae1677fc71d848a6fb52e8156dfa49136faaec8>, Fr<0x0000000000000000000000000000000000000000000000000000000000000000>, Fr<0x0000000000000000000000000000000000000000000000000000000000000000>, ], - "artifactMetadataHash": Fr<0x16ad977a85a570bedc6785d159f137035d3bf9891042ee3af20488686aec168b>, - "contractClassId": Fr<0x23ced3716a04d81b58822bc3e1843626aa2884888b1a2d2250e79fb7d41a365e>, + "artifactMetadataHash": Fr<0x3049fd9d18d6a3e6f07206670af0861939fb59708f11c4bddd4019aad0b7f2ea>, + "contractClassId": Fr<0x270cb4f1fb717d14d3eb66bb6e6072c708e46d19d9d7ad2aad0756ee67f10150>, "privateFunction": BroadcastedPrivateFunction { - "bytecode": Buffer<0x1f8b08000000000000ffe59d057814471bc7f73609108a954285da4129dac25d04922aee4e71bd241708924012dc823b454b71eaeeeeeeded29642dddd5dbfff1b769b61d9a4d0cca4f93fdf3ecfefb9bdbdbddddf3b333b33b7b73b1bb0f64d7b6dcbbadede371f0031ceab2c0a7a96b9afea7caccfb20a3edfade2b3ac9acfb21a3ecb6afa2c3b0ab4f22c3bd167bda0cfb2ba3ecbeaf92c6be02c53a780f3daca794d0cb5484a8ab64c888613c39150426a5a4a72282939ad454a38259c9c929c91909298184d494a69999a96da32941a4e4a8c86339353133343fba62e76d1b642a59a12d24d7a76fdf79e49de05e256db293baeaba4c39fce7c43ab68be9132dfd559c7fd5e37bcef0e7a809e76d172778af1a441a87453b8b1c66d75b3f5e54d2f6d65c83f6f7a2979d35d99efa1ccf7f4e44d6fbcef03fa82737cf2c6d69c370d3496f57efad233acd627b2dd205ee394b4f54e01cde912b0f4960dd7b18633df1f310d0003c12030180c0143c130301c8c00234104a481749001a2b69318314a8130991843351e283ebabab69da0a645a6f366946deddf3ac9077f7896c94ade52a5bb161caaa1e68a663a93c65a7094a1ccd55d53e98c79b4b2ad704a624242cb44592f2523144eca484f484948c8484b0aa58722e909d1d4a4706a66524252627a467a1ab6190967863223e9a99929fbbce440747b73de49f78138dad65f2bc994651b14ceb2f56f778cc6c2602aee314a75a469bbbeae3a2a8031b6feed8ed55c58ddca5ab65bd62de008c216709cf366bcb7051ce7d3028e2f83167084c616709cc60a603c490ba833e66cd21630db500b98631b14ce31d0024e28e72da0c43d81a4051cefb8eadeee44432de0c4ffa0054c236c01739d3779de1630d7a705cc2b8316304d630b98abb102c823690175c69c4fda02e61b6a0127d90685271968012797f31650e29e4cd202e639aebab73bc5500b38e53f6801a3842de054e7cd346f0b38d5a7059c56062d6054630b38556305308da405d419f374d21670baa11670866d50788681167066396f0125ee99242de034c755f77667196a0167292d60591d78830d1d78b36d83c2b30d1c7873caf9812771cf3170e09565611b62a8b015d806850b0c14b6b9e5bcb049dc73496af951ce81a1bb5ba6b3429867731eb0c30c1db0f36d83c2f30d1cb00bcaf9012b712f206f1d861b2a6c0b6d83c20b0d14b645e5bcb049dc8b485a87f1ce81a1bb75d059212cb6cda661a87453616f659e81df514bca79dc52c6171b887b29696f60a4a10a7a996d507899810a7a7939afa025eee5e4bd8188a1c2b6c23628bcc240615b59ce0b9bc4bd92a43790e71c18ba7b033a2b8455e5bc5594567ba98156f1dc721eb794f15506e25e4dda1b48375441afb10d0aaf315041af2de715b4c4bd96bc379061a8b0adb30d0aaf3350d8d697f3c22671af27e90d4c730e0cddbd019d15c28672de2a4aabbdda40ab785e398f5bcaf80603716fd41cb73be9f63c5f9b67629249cf4dffde33c3bb40dcbc37844b3ab8377e0f56e68728f39becfd6f08df8cf75bc056b0cd367fb3bec6db41c39b35d66ddb0d9575dde9a7f15fb0f0168de9b78324fd34feb113deaa31fd766aee547aeb86ed4a1db04399dfa9cc6ff3d40d17e0fd85e022707119d40d1a6f940b5fa0316f2e2129db1acf89872fd4987e9792a49fc6d3bce18b34a6df6586eb864b943ae05265fe3265fe624fdd7039de5f01ae04579541dda0f116a2f0e51af3e66a92b2adf10c59f80a8de9770d49fa693ce913be5263fa5d6bb86eb85aa903ae51e6af55e6aff2d40dd7d9fb06afbb01dc58067583c69b2bc2d769cc9b9b0ce7cd4d4a1e5cafccdfa0ccdfe8c99b9bf1fe16702bb8cdde7f7b6a9ee83867b2d1c03989db35e6b5a54cba3defd0e6194ef3cbfb3b943ceeafcc0fb28b1f98ef4ebcbf0bdc0dee2983e37280c6bcba53e37179afe1e3f25e250fee52e6ef56e6eff1e4cd7d787f3f78003ce89337bacbe743ff3e0d120f260dd4f2395099bf4f997fc893060fe3fd23e051f05819a4c1e3faca41a69f5fa8745358eaeadb0dd4a14f182eff8f2b79fc8432ff700979ff24de3f059e06cfd8ff3c306569d320a0319f9e34d487d59defcfeaf3ccf0cbf76795fc95fc72e77b9790efcfe1fdf3e005f0e241e47ba874537890c676e4398df95e967f600fd07cfcbbd34bb641e1976cfddbdda5b130988a7b975d94c09ab66bf487b2baadd2a6e9008df9f332e9c1fab2a183f515dba0f02b060ed657cbf9c12a71bf6ae860d5dd13d8e5b8ea6e5d77d9e533bfe3aca25e49719326ef44d94f8c67dbbacb5a434b7f63a0dbb111816363038e8543264841ab601d38e90e40e3cf18238306252727256646232d4da641ef32faf9152add14ee47e2196b95ef32e54e6a65bedb79f39aed24883b8e897c10f408e86ef5766b6ca9f6d87a2b07371df6f8a483ee82f39aa102ae3bbff668ccafbd86f26bef41945b1dbd605dee4dacb2c9fbf274deaf2949ccb6c6984f2189394663cca792c4acb1e10e372ba39843a59bc2cd35a61f4b473264717886493c13483c13493c93483c93493c5b9078b624f14c21f14c25f13c8dc4f37412cf33483ccf24f13c8bc4f36c12cf56249ead493cdb9078b625f16c47e2d99ec4b30389674712cf4e249e9d493cbb90787625f1ec46e2d99dc4b30789674f12cf5e249ebd493cfb9078f625f13c87c4b31f89677f12cf01249e03493c0791780e26f11c42e23994c4731889e77012cf11249e23493c23249e69249ee9249e19249e5112cf4c12cf51249ea3493cb3483cc790788e25f11c47e2399ec4339bc43387c4730289e74412cf5c12cf3c12cf7c12cf49249e93493ca790784e25f19c46e2399dc4730689e74c12cf59249eb3493ce79078169078ce25f19c47e2399fc4730189e74212cf45249e8b493c9790782e25f15c46e2b99cc4730589e74a12cf55249ee79278ae26f15c43e2b996c4731d89e77a12cf0d249ee791786e24f13c9fc4731389e76612cf2d249e5b493cb791786e27f1dc41e2b993c4f30212cf0b493c2f22f1bc98c4f31212cf4b493c2f23f1bc9cc4f30a12cf2b493caf22f1bc9ac4f31a12cf6b493caf23f1bc9ec4f30612cf1b493c6f22f1bc99c4f31612cf5b493c6f23f1bc9dc4f30e12cf3b493cef22f1bc9bc4f31e12cf7b493cef23f1bc9fc4f30112cf07493c1f22f17c98c4f31112cf47493c1f23f17c9cc4f30912cf27493c9f22f17c9ac4f31912cf67493c9f23f17c9ec4f30512cf17493c5f22f1dc45e2f93289e72b249eaf9278ee26f17c8dc4730f89e75e12cfd7493cdf20f17c93c4f32d12cfb7493cdf21f17c97c4f33d12cff70d79da1ecff2f42cee0fca28e650e9a6f0871ad34f7d8e7da89493c9f2f891c5e1f93189e727249e9f92787e46e2f93989e717249e5f92787e45e2f93589e737249edf92787e47e2f93d89e70f249e3f9278fe44e2f93389e72f249ebf9278fe46e2f93b89e71f249e7f9278fe45e2291b64f00c9078da249e31249eb1249e71249e15483c2b92785622f18c27f1ac4ce2791889671512cfaa249ed5483cab9378d620f13c9cc4b32689e711249eb50c7996e7eb026aff1fc67ce4ff61cc47911c8347074a9f7ea991b4f450383962d2f318923214ab31e63a243137d718f3b124c7cd71659437a1d24de1e303faf2b99fcd11f3091a63de4d724ddb8924c74d90c4b32e89673d12cf93483ceb93789e4ce2d980c4b32189672312cfc6249e4d483c9b92789e42e2792a89673312cfe6249e2112cf3089670289672289671289673289670b12cf96249e29249ea9249ea791789e4ee2790689e799249e6791789e4de2d98ac4b33589671b12cfb6249eed483cdb93787620f1ec48e2d989c4b33389671712cfae249edd483cbb9378f620f1ec49e2d98bc4b33789671f12cfbe249ee79078f623f1ec4fe23980c4732089e72012cfc1249e43483c8792780e23f11c4ee23982c47324896784c4338dc4339dc43383c4334ae29949e2398ac4733489671689e71812cfb1249ee3483cc79378669378e690784e20f19c48e2994be29947e2994fe23989c4733289e71412cfa9249ed3483ca79378ce20f19c49e2398bc4733689e71c12cf0212cfb9249ef3483ce793782e20f15c48e2b988c4733189e71212cfa5249ecb483c979378ae20f15c49e2b98ac4f35c12cfd5249e6b483cd79278ae23f15c4fe2b981c4f33c12cf8d249ee793786e22f1dc4ce2b985c4732b89e73612cfed249e3b483c7792785e40e2792189e745249e1793785e42e2792989e765249e9793785e41e2792589e755249e5793785e43e2792d89e775249ed79378de40e2792389e74d249e379378de42e2792b89e76d249eb79378de41e2792789e75d249e779378de43e2792f89e77d249ef793783e40e2f92089e743249e0f93783e42e2f92889e763249e8f93783e41e2f9a4214fdbe359dae73036d018f353651473a87453f8e980bef4db6b7394c767488e9b67493c9f23f17c9ec4f30512cf17493c5f22f1dc45e2f93289e72b249eaf9278ee26f17c8dc4730f89e75e12cfd7493cdf20f17c93c4f32d12cfb7493cdf21f17c97c4f33d12cff7493c3f20f1fc90c4f32312cf8f493c3f21f1fc94c4f33312cfcf493cbf20f1fc92c4f32b12cfaf493cbf21f1fc96c4f33b12cfef493c7f20f1fc91c4f32712cf9f493c7f21f1fc95c4f33712cfdf493cff20f1fc93c4f32f124f8be4fa900089a74de21943e2194be21947e25981c4b32289672512cf7812cfca249e8791785621f1ac4ae2598dc4b33a89670d12cfc3493c6b92781e41e2598bc4b33689e791249e4791781e4de2790c89671d12cf63493c8f23f13c9ec4f30412cf13493c83249e75493ceb91789e44e2599fc4f36412cf06249e0d493c1b19f2b43d9ea5bd0f3a4e63cc8d4962aea031e626243157d418735392982b698cf9149298e335c67c2a49cc9535c6dc8c24e6c334c6dc9c24e62a1a630e91c45c5563cc619298ab698c398124e6ea1a634e2489b986c6989348623e5c63ccc92431d7d418730b92988fd018734b92986b698c398524e6da1a634e2589f9488d319f4612f3511a633e9d24e6a335c67c0649ccc7688cf94c9298eb688cf92c92988fd518f3d924311fa731e65624311faf31e6d624319fa031e63624319fa831e6b624310735c6dc8e24e6ba1a636e4f12733d8d31772089f9248d31772489b9bec6983b91c47cb2c6983b6b8c39d6da774d40d009b809680a4e01a78266a0b9ec07844182a4054802c9a005680952402a380d9c0ece006782b3c0d94eecad411bd016b403ed4107d01174029d4117d0157403dd410fd013f402bd411fd0179c03fa81fe600018080681c16008180a8681e16004180922200da4830c1005996014180db2c01830168c03e34136c80113c044900bf2403e9804268329602a9806a6831960269805668339a000cc05f3c07cb0002c048bc062b0042c05cbc072b002ac04abc0b960355803d68275603dd800ce031bc1f96013d80cb680ad601bd80e76809de0027021b8085c0c2e019782cbc0e5e00a7025b80a5c0dae01d782ebc0f5e0067023b809dc0c6e01b782dbc0ede00e7027b80bdc0dee01f782fbc0fde001f02078083c0c1e018f82c7c0e3e009f024780a3c0d9e01cf82e7c0f3e005f0227809ec022f8357c0ab6037780dec017bc1ebe00df026780bbc0dde01ef82f7c0fbe003f021f8087c0c3e019f82cfc0e7e00bf025f80a7c0dbe01df82efc0f7e007f023f809fc0c7e01bf82dfc0efe00ff027f80bc8411600368801b1200e5400154125100f2a83c3401550155403d5410d7038a8098e00b5406d7024380a1c0d8e0175c0b1e038703c38019c0882a02ea8074e02f5c1c9a00168081a81c6a009680a4e01a78266a0390881304800892009248316a0254801a9e034703a38039c09ce0267cbbdf0a0356803da8276a03de8003a824ea033e802ba826ea03be8017a825ea037e803fa8273403fd01f0c0003c12030180c0143c130301c8c00234104a481749001a220138c02a341161803c68271603cc806396002980872411ec80793c06430054c05d3c0743003cc04b3c06c30071480b9601e980f1680856011580c9680a56019580e56809560153817ac066bc05ab00eac071bc0796023381f6c029bc116b0156c03dbc10eb013c8b3ede5b9f1f24c7679deb93c4b5c9ed32dcfc096e74bcbb39be5b9c8f2cc61799eaf3c2b579e432bcf7895e7a7cab349e5b99ff24c4d795ea53c0b529eb328cf3094e703cab3f7e4b976f2cc38791e9b3ceb4c9e2326cfe8ba1fc8b3a5e4b94df24c2479de903ccb479e9323cfa091e7bbc8b353e4b924f29c0e7906863c13429eb720cf3290e704c818fc32bebd8c1d2fe3b2cb98e7329eb88cd52de360cb18d3327eb38c8d2ce30ecb98be325eae8c45fb36903154657c5219fb53c6d594312b653c48196b51c63194310265fc3d19db4ec68d9331d964bc33194b4cc6e99231b0647c2919bb49c645923187643c1f192b47c6a191315e64fc14199b44c6fd90313564bc0a190b423a143286818c0f20f7decb7ded72cfb8dc8f2df73acb7dc4728faedcff2af796ca7d9b724fa4dc6f28f7f2c97d72720f9adcdf25f74ec97d4972cf8fdc4f23f7aac87d20728f85dcbf20f706c875f7724dbb5c2f2ed7624bfb2ed710cbf5b972edab5c572ad76ccaf59072ada15cc727d7b5c9755e72dd935c0724d7c5c8752272dd845c4720ffabcbffccf2bfabfc0f29ffcbc9ff54f2bf8dfc8f21e7f5e53cb79cf795f3a0725e50ce93159e3702725e417e67cbef4ef91d26bf4ba49f2efd56e9c749bfc6de57555ad22f91a989553439c968c5389fcb357d728d9b5cf325d740c93541728d8c5c3322d750c83505f21fbbfce72cffc1ca7f92f21f9dfc6725ffe1c87f1a728e5fce79cb396039272ae708e59c999c4392732a728e417e7307415d500f489f5dfab0d2a793e7d334048d4063ebc0a9b2325f4b993fce798de4e747c74fc80fe6e704231919c12959f9a3833993a3b999e372a45b51d87f70a77ace6be7ecacfcacc8b8ace991fcac9cece0e848dee860464e342f989d931f1c1fc94f97ce4c61cfc29d42de6f46736577b9d1bcbc60d6beefe58f8e06d373b2f37323e9f9c18ce8847139d3a2d2d929ec8d1caaf5aa43fc4ec0c90dcb494d77aae6bcf6cd8fa48fc53773601695aab8b0cf2453b3835a7b89f349eb435abbb3b2f631ee16727323d38259d919d1a9c19c49f9c19ccc605acea4ec8c3cf58b7d0e31fcc2922c935b82e29d57f757887b44b472de874a3785e395edeade7e4a283929deda7fd2ec9f186f15d506a6d247b6196366fb8557a9cad4b6a068fb6a2cee7eab3aef034a5abadf911aaf86f21d751b96e3ebfdaefbb9c9f852424949f1d6feb5b8def40b175e2d26534cc181e9e77e165be09f9e32c515ecefe5a6a77b944b0bd1ce59a786f2797d653bdef40e9441dacac56d01cffe2c6bff74f6c65cd9327bac043cfb737dbce9e3ce5771d257a651d1fcb64e9bd3393b2f3f929d1e554350375bc327443509fcd6f1aee75dbfaacfe7aea67422dc6aac6241d1e73aab0177bf959cedc7594559e9eeb370b9336f7bd657e703cef7d565272971c914af7ccfdd4f8cb2ccdd6775e77d05e5b3f8827fde56accfb66af8ac5fc1b3ad8a3edb5297b9714b67af8e33afe64facb23d5df9d332a5287fdc3452f3479d6295cfd5f51b39ef6b5afe93c4e076cdb89bfca49665d5e41b6a920d3759fe4dbe37164b59e6aee7fd8eac5752b7c064d7c87cd35e94cf15cc6c3fc14db73825ed627d6272f75fd53ab0790b14f36a59fe4db1bbafca96d1321c2e2936d5df2d1b353cebab69f05fe6839a3e6a3ec874b05dbe38cf67c575f9ea28eb15d70d97f54e76e6a5ebd2d1d996a5a4954cacfd84fa4acc85f128df63ed271cebcc4b1b2bf9d7d42ada5671e5ceafbb5add3ab06e88f36ccbafeb1be7b32df7a4944c1370d6a175eea849e3a3d9f979de0eabba03cb6743eacedde5c53528deefc42aebab134387aab9f3bea40e557f679ebc439556561daa8a66b6dfc2dd7e2533dbf7ed50a9b1b8fb758f8976054569d9ae607f27779d0eca3a1d8a5947adfc3b2aeba8c75f27659d4e9e754aeabcf99d5768e7f94cad6cda7b3e538fa50e9ecfd40aa9a3e7b30ad681be927eee196bb7d2ea5cb07f2cea675d94cf5cff2394effcdd2859fbae0a50f75fb168f7079c4731547e120fb6f3e6eebfb265f478f9bbf356c9e3e34d1fbff328e99171e37ae5664d8ee4473b4cca4e97bf05d410d4cdda3e2116d7cca8c5c2bb9eb798faf591633defe33cefddedabfb29eefbde65aa8f3b5fdd677945cf3adeecf62ef3f68d2bfaeccfef100e14f3eaeec7fa87fdf83997749af150f763fa94760d8fabbaafea3efbf6a6ab5f1faaa4df2c157df663f8b769b25f55ea4edeaad4afbca8cedee3d0f2c4af4e6a4c721cb755b6eb5dcfebe3f75b2ac613875fb988b1ac62fbbdea36fcba9cee7cbccf7e747631fc9a2f6ffc251dbf6ad372a8f9f1f76f28ebd0f2434d23ef71ae1ed3debf80bcdd589918baec6d9cf72575d9d52e815f5d11f07ca6a693b77e3354d6fe3e5fe19635371dbc3e71cae7eafa5dfe211d02d681c75849f5a0d7475ddffbfb5426bfdfb1153c9f9594aeffc5392bbfe3c11b7705ebd0f2a1aff35a5c3ef8b563eab924ef7ed463b19292663255b68ca45942bcb24f03db0f55b40e9cd40b590ef37ce6a6955fbd1028e6bded792d69dd4009dbadeaf399faf3c3bb2cdef35a4bd99e89d303b5cd6cdf378fd40b8c6a7be254d3b9952607777beeb1e9d72fb23d9fa9e75455bf807ebfb0d725c6675feea49615f7f3ff018d8be2fd060d0200>, + "bytecode": Buffer<0x1f8b08000000000000ffeddd05745b67c2706b87390e3333c7761c666666666666680a699b32738a4953a694999b5298999919efd68cfd55759d76662a77baef3f5a6b2fcb967cfcbc47872cd94789c2fe7919161e16563dfc9fd7135192988f89a9409cafc57e0cbe9e2c9efba589e76be9e2f95a783c5fcb18cfd7b2519d385fcb1fcffd0ac4f3b582f17cad503c5f2b1ef3b5e04ba2988f75623e5688a8141d3db072d4c0c80a917d23a2aaf6ab523122ba62bf4a5522ab4456ac52714054950a15065689ae52b96abfaa9523aa464657181839a862d50a8322fe79599ffe976945fca94b54ff84746ef8cf9dd171bf10b065a2a441d6c07cb81273bd44d82fd74b065ddf10739fd8efdbc8e79b68336d49ffcbd7632f49e2cc83883f77892c15c2696d4c1fbac7666bc896a1f81f9bad418fcda6a0eb9b83ae6f89f3d86ce3f3edb48376c6f3d8240ef163533c84cbfaaed0cdcfc8e0ed4960ba05e2ccdbb89744219e2f89c242bb6cc41a33c45cdfcd98f6d05eda47fbe9001da44374988ed0513a46c7e9049da453e9636646f2a005222167c6c110ae28f1704335eda8e079713afd3f3f9e491ff6ebbd53e086cb71be16b853dca52ad45bc18321d8720d1cf4cfcbe9106e05cf84f0c10d2c9429c2feb535f4cfba83e74164950a5151952b04ee5765404464f480fe5155a2a206f48b8ee81fd1b77fd4c0aad191550745474557e83fa07f3fa6d9377250c4a0befdab0eaaf2cf69057bcfa64f407060e27137e17f167f36849bdd73215cb0126a1e9e4bffdbe9fed979782ec45bb8508ffbcc35c6fd67a77b3ec48740b11bd4f331cbf95fb9973a22dc4b5d88d9d85c8cbb97ba10cf5eeae25fb0973a12c2bdd485106e4c2e4af7521712682f75297d02822f25c05eea5208f75297ffe67ba97facbc09b097bafc37df4b5dbcc6b8ffec74af24d05eeaca7f612f755cb897ba1abbb1090ffbf51ee96a3c7ba9c09d127a2f753c847ba9aba1dc98843bf7525713682f95283c01c18189877a2f9528740f6064e2f0bff75e2a300f1387877e2f9538fcefbd970aaca4f18dfbcf4e374978c2eca59284fff57ba953c2bd54d2988d4db2b87ba9c00d71f752c9fe82bdd4a910eea592867063924cba970a9e07a1dc4b250f4f4070f204d84b250fe15e2ac5df7c2f1598872912602f95e26fbe974a768d71ffd9e9a64ca0bd54caf0dfee99426d4f15327b64bff85eb00d4c3ff685d9dd412fd2ee4b7fed17d353f33d69282da50b4ff817d3f784f07994d4215cf7d38778b98afbd8a40f7a6cd2045d4f1b743d5df8af1f9b703ecf401929533c8f4da897cfccfff93ca8f0afcc83e0e5736fd032191ef4f5cc71e641163ecf4ad928fb5f300f72846c39a8109d90ce9cffb97340c4bff058e5087a4cf6073d560782aee78cf358e5e2f3dc9487f2fe05db9210bef41b992b84db927c21de3727d4fc3b14c2f9973b84f32fbf64fe1d0ee1fccb13c2f9572081f765f982b60df983ae1708ba9e37ceb6a1209f17a2c254e42fd83684f005b7c882217c6c8a4a96eda3219c7f854238ff8a49e6dfb110cebfc2219c7fc51378db5034681b502ce87af1a0eb45e26c1b4af079492a45a5ff826d43085fe6882c11c2c7a68c64d93e11c265bb6408e75f59c9fc3b19c2f9572a84f3af5c026f1bca046d03ca065d2f1774bd749c6d43793e8fa0488afa0bb60d217c7239b27c081f9b0a09fcd854087a0c2282ae47065d8f8af3d844f37945aa4495ff82dfcdab846e1e0c8a6f1e54091a6b74d0f52cbff3fc44553eaf16f38f533562e641d298fbfe157fe85f3584cb45f0f39f35635e54a815f7d5a8c00d73e27cad56ccd7822fa15e31ab867065aaf9af4fabff1f4c2bb256885f8d4a1c16ff4ba461ffe6fcfc237758022e943543bcb18abdd48ebb30d6fe175e060de5c2f207d6c83fb83da2760817e23ae1215b187ef54a489d7f6165feb3f65a219c0fa19ca775ff8d79fa473f2b789ed60dda68a60c9a9fc1f334e2cf5d22affcfef4a2fa0f8aac507160e58a1195fa46571c50a942d480a8ca1103a22b0e8a041c55359a5933a87f74950155a22a0c8aaa1cd5ff4a687dff58c662376cb13b92d8bd6aad98ebf5f8589f1a84ffb57f2fd220817e7308f163fcabbf176918b3876e1477a318b821eedf8b34fa173694117feef2ab99f867ff5ea4610857ea4621de43ff557f2f123c0f42f9f7228dc313101c9878a8ff5ea471087f276b12c2052ba1e66193f0d0ffbd4893106fe1423dee46d718f79f9d6ed3101f8ac66e509b86ff76cf14eaa3a450be3e572f84cb7db3ffd20635e2cf5d229b85785988bd340f4f4070f3f0d04fb745026f0423fedce51fe36e11fecb0c0ed1747ff749dd3f3b1f42f96270fd103e3e2da52b6bcb045a595b852720b85502acacadffe62b6b60dcadffe29535e2cf5d7eb5378cf87397906e4cdb8478a14f15f378b709fa5dbb7ed0f516e1bf3c537d28e82fbb0e075d8ffdb7edb6dcb71db58ff99ed869d7bbc6b41b054dfb8feed3818f1da95378c2ac9b2d6296d1501f5d76fe9b1f5527d4b8bb8470fd090bba240eb1b35108d7cdae211e73dcb146fcb94b6460fd0ce5e31258273b27c0b2d32d819e6b0bf5b2733184ff58dbfd6fbeec04b6fd217c9a2c32b0ae744b8065a74788979d50cfc7c03213ca638bc072d32301e663a2b084590743edec19ba793920be57fc7b061d8b049685d8ebdbd25ffb15ff5e7cde9bfa50dff0843fc5e1be106e877a497f190ce17f0dfdea97c17ee10908ee9700bf0cf6ff9bff321818777fd9333709b5a0fe59d700e9ca1a4a77b077607802820726c0ca3ae86fbeb206c63d288156d6501f09f48fb1867aefda3ffceff9780756d8c0862e71d8b52f217257887d5d2bf812ea65ad4458e87706a1369614184b2580f1fffe683559d86f2fa11e4042fdea11162267c58ad115060dec5b3921e7c1b6043a3d4da89dbb24ce24a19bd6affe087a70ccce7148dc3fb10adc5020ecd79750ef990687706f32343cb42b70ec7c181acf7c08f5833b24c487c1c9c2fe9ac3e084ded0857c811b1ac2056e58022d70c3fe8515efeff4fb60e9b0845908423de6102eac916524634e1cc23197958c39847bcac8727fd19823fedc25b27c08e79fe5c82d22cce18c9438a324ce0a1267b4c45951e2ac2471569638ab489c5525ce6a12677589b386c45953e2ac2571d69638eb489c7525ce7a12677d89b381c4d950e26c24713696389b489c4d25ce6612677389b385c4d952e26c2571b69638db489c6d25ce7612677b89b383c4d951e2ec2471769638bb489c5d25ce6e12677789b387c4d953e2ec2571f69638fb489c7d25ce7e12677f897380c43950e21c24710e963887489c4325ce6112e770897384c43952e21c25718e9638c7489c6325ce7112e778897382c43951e29c24714e9638a7489c5325ce6912e774897386c43953e29c2571ce9638e7489cd7499c7325ceeb25ce1b24ce1b25ce9b24ce7912e7cd12e72d12e7ad12e77c89f33689f37689f30e89f34e89f32e89f36e89f31e89f35e89f33e89f37e89f30189f34189f32189f36189f31189f35189f33189f37189f309897381c4f9a4c4f994c4f9b4c4f98cc4f9acc4f99cc4b950e25c24713e2f712e96385f90385f94385f92385f96385f91385f95385f93385f9738df9038df9438df923897489c6f4b9cef489cef4a9cef499cef4b9c1f489c1f4a9c1f499c1f4b9c9f489c9f4a9c9f499c9f4b9c5f489c5f4a9c5f499c5f4b9cdf489cdf4a9cdf499c4b25ceef25ce1f24ce1f25ce9f24ce9f25ce6512e772897385c4b952e25c2571ae9638d7489c6b25ce7512e77a897383c4b951e2dc24716e9638b7489c5b25ce6d12e776897387c4b953e2dc9540cec4719c7fa7f7a5defd178d39e2cf5d22f78470fe0d0d772c8f7bc31cce7d12e77e89f380c47950e23c24711e96388f489c4725ce6312e77189f384c47952e23c25719e9638cf489c6725ce7312e77989f382c47951e2bc24715e9638af489c5725cec0040dce44126762893389c49954e24c267126973853489c2925ce5412676a89338dc49956e24c2771a69738c325ce0c126746893393c49959e2cc9240cebff3df0564fd7f70ccd924cb63f6447f7efe55eddbaf7f4464c5be09f9d82409e198734896c7f2211c734ec9f298eb2f7a6c22fedc253277a2d03dcebbd23bc69c2784631e2cf9bba9bc92f5269fc4995fe22c20711694380b499c8525ce2212675189b398c4595ce22c21719694384b499ca525ce3212675989b39cc4595ee28c90382325ce2889b382c4192d715694382b499c9525ce2a12675589b39ac4595de2ac2171d694386b499cb525ce3a12675d89b39ec4595fe26c20713694381b499c8d25ce2612675389b399c4d95ce26c2171b694385b499cad25ce3612675b89b39dc4d95ee2ec20717694383b499c9d25ce2e12675789b39bc4d95de2ec2171f694387b499cbd25ce3e12675f89b39fc4d95fe21c20710e943807499c8325ce2112e750897398c4395ce21c21718e943847499ca325ce3112e75889739cc4395ee29c20714e943827499c9325ce2912e75489739ac4395de29c2171ce943867499cb325ce3912e77512e75c89f37a89f30689f34689f32689739ec479b3c4798bc479abc4395fe2bc4de2bc5de2bc43e2bc53e2bc4be2bc5be2bc47e2bc57e2bc4fe2bc5fe27c40e27c50e27c48e27c58e27c44e27c54e27c4ce27c5ce27c42e25c20713e29713e25713e2d713e23713e2b713e27712e943817499ccf4b9c8b25ce1724ce1725ce9724ce9725ce5724ce5725ced724ced725ce3724ce3725ceb724ce2512e7db12e73b12e7bb12e77b12e7fb12e70712e78712e74712e7c712e72712e7a712e76712e7e712e71712e79712e75712e7d712e73712e7b712e77712e75289f37b89f30789f34789f32789f367897399c4b95ce25c2171ae943857499cab25ce3512e75a89739dc4b95ee2dc20716e943837499c9b25ce2d12e75689739bc4b95de2dc2171ee943877499cbb25ce3d12e75e89739fc4b95fe23c20711e94380f499c8725ce2312e75189f398c4795ce23c21719e94384f499ca725ce3312e75989f39cc4795ee2bc20715e94382f499c9725ce2b12e75589332cb1c39948e24c2c71269138934a9cc924cee412670a8933a5c4994ae24c2d71a69138d34a9ce924cef41267b8c49941e2cc2871669238334b9c5924ceac1267368933bbc49943e2cc2971e69238734b9c7924cebc12673e8933bfc45940e22c28711692380b4b9c4524cea212673189b3b8c45942e22c29719692384b4b9c6524ceb212673989b3bcc4192171464a9c5112670589335ae2ac28715692382b4b9c5524ceaa12673589b3bac45943e2ac2971d692386b4b9c7524ceba12673d89b3bec4d940e26c28713692381b4b9c4d24cea612673389b3b9c4d942e26c2971b692385b4b9c6d24ceb612673b89b3bdc4d941e2ec28717692383b4b9c5d24ceae12673789b3bbc4d943e2ec2971f692387b4b9c7d24cebe12673f89b3bfc43940e21c28710e9238074b9c4324cea112e7308973b8c43942e21c29718e9238474b9c6324ceb112e7388973bcc43941e29c28714e9238274b9c5324cea912e7348973bac43943e29c2971ce9238674b9c7324ceeb24ceb912e7f512e70d12e78d12e74d12e73c89f36689f31689f3568973bec4799bc479bbc47987c479a7c47997c479b7c4798fc479afc4799fc479bfc4f980c4f9a0c4f990c4f9b0c4f988c4f9a8c4f998c4f9b8c4f984c4b940e27c52e27c4ae27c5ae27c46e27c56e27c4ee25c28712e92389f9738174b9c2f489c2f4a9c2f499c2f4b9caf489caf4a9caf499caf4b9c6f489c6f4a9c6f499c4b24ceb725ce7724ce7725cef724cef725ce0f24ce0f25ce8f24ce8f25ce4f24ce4f25cecf24cecf25ce2f24ce2f25ceaf24ceaf25ce6f24ce6f25ceef24cea512e7f712e70f12e78f12e74f12e7cf12e7328973b9c4b942e25c2971ae9238574b9c6b24ceb512e73a8973bdc4b941e2dc28716e9238374b9c5b24cead12e7368973bbc4b943e2dc2971ee9238774b9c7b24cebd12e73e8973bfc47940e23c28711e92380f4b9c4724cea312e73189f3b8c47942e23c29719e92384f4b9c6724ceb312e73989f3bcc47941e2bc28715e92382f4b9c5724ceab12675812873391c49958e24c227126953893499cc925ce1412674a893395c4995ae24c2371a69538d3499ce925ce70893383c49951e2cc2471669638b3489c5925ce6c126776893387c49953e2cc2571e69638f3489c7925ce7c12677e89b380c45950e22c24711696388b489c4525ce6212677189b384c45952e22c2571969638cb489c6525ce72126779893342e28c9438a324ce0a1267b4c45951e2ac2471569638ab489c5525ce6a12677589b386c45953e2ac2571d69638eb489c7525ce7a12677d89b381c4d950e26c24713696389b489c4d25ce6612677389b385c4d952e26c2571b69638db489c6d25ce7612677b89b383c4d951e2ec2471769638bb489c5d25ce6e12677789b387c4d953e2ec2571f69638fb489c7d25ce7e12677f897380c43950e21c24710e963887489c4325ce6112e770897384c43952e21c25718e9638c7489c6325ce7112e778897382c43951e29c24714e9638a7489c5325ce6912e774897386c43953e29c2571ce9638e7489cd7499c7325ceeb25ce1b24ce1b25ce9b24ce7912e7cd12e72d12e7ad12e77c89f33689f37689f30e89f34e89f32e89f36e89f31e89f35e89f33e89f37e89f30189f34189f32189f36189f31189f35189f33189f37189f309897381c4f9a4c4f994c4f9b4c4f98cc4f9acc4f99cc4b950e25c24713e2f712e96385f90385f94385f92385f96385f91385f95385f93385f9738df9038df9438df923897489c6f4b9cef489cef4a9cef499cef4b9c1f489c1f4a9c1f499c1f4b9c9f489c9f4a9c9f499c9f4b9c5f489c5f4a9c5f499c5f4b9cdf489cdf4a9cdf499c4b25ceef25ce1f24ce1f25ce9f24ce9f25ce6512e772897385c4b952e25c2571ae9638d7489c6b25ce7512e77a897383c4b951e2dc24716e9638b7489c5b25ce6d12e776897387c4b953e2dc2571ee9638f7489c7b25ce7d12e77e89f380c47950e23c24711e96388f489c4725ce6312e77189f384c47952e23c25719e9638cf489c6725ce7312e77989f382c47951e2bc24715e9638af489c5725ceb0a40e67228933b1c49944e24c2a71269338934b9c2924ce9412672a8933b5c49946e24c2b71a69338d34b9ce11267068933a3c49949e2cc2c71669138b34a9cd924ceec12670e8933a7c4994be2cc2d71e69138f34a9cf924cefc12670189b3a0c45948e22c2c711691388b4a9cc524cee212670989b3a4c4594ae22c2d71969138cb4a9ce524cef2126784c419297146499c1524ce6889b3a2c45949e2ac2c71569138ab4a9cd524ceea12670d89b3a6c4594be2ac2d71d69138eb4a9cf524cefa12670389b3a1c4d948e26c2c713691389b4a9ccd24cee612670b89b3a5c4d94ae26c2d71b69138db4a9ced24cef612670789b3a3c4d949e2ec2c71769138bb4a9cdd24ceee12670f89b3a7c4d94be2ec2d71f69138fb4a9cfd24cefe12e7008973a0c43948e21c2c710e9138874a9cc324cee112e7088973a4c4394ae21c2d718e9138c74a9ce324cef112e7048973a2c43949e29c2c714e9138a74a9cd324cee912e70c8973a6c4394be29c2d71ce9138af9338e74a9cd74b9c37489c374a9c37499cf324ce9b25ce5b24ce5b25cef912e76d12e7ed12e71d12e79d12e75d12e7dd12e73d12e7bd12e77d12e7fd12e70312e78312e74312e7c312e72312e7a312e76312e7e312e71312e70289f34989f32989f36989f31989f35989f3398973a1c4b948e27c5ee25c2c71be2071be2871be2471be2c71be2271be2a71be2671be2e71be2171be2971be25712e9138df9638df9138df9538df9338df97383f90383f94383f92383f96383f91383f95383f93383f9738bf9038bf9438bf9238bf9638bf9138bf9538bf9338974a9cdf4b9c3f489c3f4a9c3f499c3f4b9ccb24cee512e70a8973a5c4b94ae25c2d71ae9138d74a9ceb24cef512e7068973a3c4b949e2dc2c716e9138b74a9cdb24ceed12e70e8973a7c4b94be2dc2d71ee9138f74a9cfb24cefd12e70189f3a0c47948e23c2c711e91388f4a9cc724cee312e70989f3a4c4794ae23c2d719e9138cf4a9ce724cef312e70589f3a2c47949e2bc2c715e9138af4a9c61c91cce44126762893389c49954e24c267126973853489c2925ce5412676a89338dc49956e24c2771a69738c325ce0c126746893393c49959e2cc2271669538b3499cd925ce1c12674e893397c4995be2cc2371e69538f3499cf925ce0212674189b390c45958e22c22711695388b499cc525ce1212674989b394c4595ae22c2371969538cb499ce525ce08893352e28c92382b489cd112674589b392c45959e2ac2271569538ab499cd525ce1a12674d89b396c4595be2ac2371d69538eb499cf525ce0612674389b391c4d958e26c22713695389b499ccd25ce1612674b89b395c4d95ae26c2371b69538db499ced25ce0e12674789b393c4d959e2ec2271769538bb499cdd25ce1e12674f89b397c4d95be2ec2371f69538fb499cfd25ce0112e740897390c43958e21c22710e953887499cc325ce1112e748897394c4395ae21c23718e9538c7499ce325ce0912e744897392c43959e29c22714e9538a7499cd325ce1912e74c897396c4395be29c23715e2771ce9538af97386f90386f94386f9238e7499c374b9cb7489cb74a9cf325cedb24cedb25ce3b24ce3b25cebb24cebb25ce7b24ce7b25cefb24cefb25ce0724ce0725ce8724ce8725ce4724ce4725cec724cec725ce2724ce0512e79312e75312e7d312e73312e7b312e77312e742897391c4f9bcc4b958e27c41e27c51e27c49e27c59e27c45e27c55e27c4de27c5de27c43e27c53e27c4be25c2271be2d71be2371be2b71be2771be2f717e20717e28717e24717e2c717e22717e2a717e26717e2e717e21717e29717e25717e2d717e23717e2b717e27712e9538bf97387f90387f94387f92387f963897499ccb25ce1512e74a897395c4b95ae25c2371ae9538d7499ceb25ce0d12e746897393c4b959e2dc22716e9538b7499cdb25ce1d12e74e897397c4b95be2dc2371ee9538f7499cfb25ce0312e74189f390c47958e23c22711e95388f499cc725ce1312e74989f394c4795ae23c23719e9538cf499ce725ce0b12e74589f392c47959e2bc22715e9538c3923b9c8924cec41267128933a9c4994ce24c2e71a69038534a9ca924ced412671a8933adc4994ee24c2f71864b9c1924ce8c1267268933b3c49945e2cc2a71669338b34b9c3924ce9c12672e8933b7c49947e2cc2b71e69338f34b9c0524ce8212672189b3b0c45944e22c2a711693388b4b9c2524ce9212672989b3b4c45946e22c2b71969338cb4b9c111267a4c4192571569038a325ce8a12672589b3b2c45945e2ac2a71569338ab4b9c3524ce9a12672d89b3b6c45947e2ac2b71d69338eb4b9c0d24ce8612672389b3b1c4d944e26c2a713693389b4b9c2d24ce9612672b89b3b5c4d946e26c2b71b69338db4b9c1d24ce8e12672789b3b3c4d945e2ec2a71769338bb4b9c3d24ce9e12672f89b3b7c4d947e2ec2b71f69338fb4b9c0324ce8112e7208973b0c43944e21c2a710e9338874b9c2324ce9112e7288973b4c43946e21c2b718e9338c74b9c1324ce8912e7248973b2c43945e29c2a714e9338a74b9c3324ce9912e72c8973b6c43947e2bc4ee29c2b715e2f71de2071de2871de2471ce93386f96386f91386f9538e74b9cb7499cb74b9c77489c774a9c77499c774b9cf7489cf74a9cf7499cf74b9c0f489c0f4a9c0f499c0f4b9c8f489c8f4a9c8f499c8f4b9c4f489c0b24ce2725cea724cea725ce6724ce6725cee724ce8512e72289f3798973b1c4f982c4f9a2c4f992c4f9b2c4f98ac4f9aac4f99ac4f9bac4f986c4f9a6c4f996c4b944e27c5be27c47e27c57e27c4fe27c5fe2fc40e2fc50e2fc48e2fc58e2fc44e2fc54e2fc4ce2fc5ce2fc42e2fc52e2fc4ae2fc5ae2fc46e2fc56e2fc4ee25c2a717e2f71fe2071fe2871fe2471fe2c712e9338974b9c2b24ce9512e72a8973b5c4b946e25c2b71ae9338d74b9c1b24ce8d12e7268973b3c4b945e2dc2a716e9338b74b9c3b24ce9d12e72e8973b7c4b947e2dc2b71ee9338f74b9c0724ce8312e72189f3b0c47944e23c2a711e93388f4b9c2724ce9312e72989f3b4c47946e23c2b719e9338cf4b9c1724ce8b12e72589f3b2c47945e2bc2a7186a5703813499c8925ce24126752893399c4995ce24c2171a6943853499ca925ce3412675a89339dc4995ee20c973833489c1925ce4c12676689338bc49955e2cc267166973873489c3925ce5c12676e89338fc49957e2cc2771e697380b489c0525ce4212676189b388c45954e22c26711697384b489c2525ce5212676989b38cc45956e22c27719697382324ce4889334ae2ac2071464b9c1525ce4a12676589b38ac45955e2ac26715697386b489c3525ce5a12676d89b38ec45957e2ac2771d697381b489c0d25ce4612676389b389c4d954e26c26713697385b489c2d25ce5612676b89b38dc4d956e26c2771b697383b489c1d25ce4e12676789b38bc4d955e2ec26717697387b489c3d25ce5e12676f89b38fc4d957e2ec2771f6973807489c0325ce4112e760897388c43954e21c26710e973847489c2325ce5112e76889738cc43956e21c27718e973827489c1325ce4912e76489738ac43955e29c26714e973867489c3325ce5912e76c89738ec4799dc43957e2bc5ee2bc41e2bc51e2bc49e29c2771de2c71de2271de2a71ce97386f93386f9738ef9038ef9438ef9238ef9638ef9138ef9538ef9338ef97381f90381f94381f92381f96381f91381f95381f93381f97389f903817489c4f4a9c4f499c4f4b9ccf489ccf4a9ccf499c0b25ce4512e7f312e76289f30589f34589f32589f36589f31589f35589f33589f37589f30d89f34d89f32d897389c4f9b6c4f98ec4f9aec4f99ec4f9bec4f981c4f9a1c4f991c4f9b1c4f989c4f9a9c4f999c4f9b9c4f985c4f9a5c4f995c4f9b5c4f98dc4f9adc4f99dc4b954e2fc5ee2fc41e2fc51e2fc49e2fc59e25c26712e973857489c2b25ce5512e76a89738dc4b956e25c2771ae973837489c1b25ce4d12e76689738bc4b955e2dc26716e973877489c3b25ce5d12e76e89738fc4b957e2dc2771ee97380f489c0725ce4312e76189f388c47954e23c26711e97384f489c2725ce5312e76989f38cc47956e23c27719e97382f489c1725ce4b12e76589f38ac47955e20c4be970269238134b9c4924cea41267328933b9c49942e24c2971a69238534b9c6924ceb412673a8933bdc4192e71669038334a9c9924cecc1267168933abc4994de2cc2e71e69038734a9cb924cedc12671e8933afc4994fe2cc2f711690380b4a9c8524cec212671189b3a8c4594ce22c2e719690384b4a9ca524ced212671989b3acc4594ee22c2f7146489c91126794c45941e28c96382b4a9c9524ceca12671589b3aac4594de2ac2e71d690386b4a9cb524ceda12671d89b3aec4594fe2ac2f713690381b4a9c8d24cec612671389b3a9c4d94ce26c2e71b690385b4a9cad24ced612671b89b3adc4d94ee26c2f717690383b4a9c9d24cece12671789b3abc4d94de2ec2e71f690387b4a9cbd24cede12671f89b3afc4d94fe2ec2f710e9038074a9c8324cec112e7108973a8c4394ce21c2e718e9038474a9ca324ced112e7188973acc4394ee21c2f714e9038274a9c9324cec912e7148973aac4394de29c2e71ce9038674a9cb324ced912e71c89f33a8973aec479bdc47983c479a3c47993c4394fe2bc59e2bc45e2bc55e29c2f71de2671de2e71de2171de2971de2571de2d71de2371de2b71de2771de2f713e20713e28713e24713e2c713e22713e2a713e26713e2e713e21712e90389f94389f92389f96389f91389f95389f9338174a9c8b24cee725cec512e70b12e78b12e74b12e7cb12e72b12e7ab12e76b12e7eb12e71b12e79b12e75b12e71289f36d89f31d89f35d89f33d89f37d89f30389f34389f32389f36389f31389f35389f33389f37389f30b89f34b89f32b89f36b89f31b89f35b89f33b8973a9c4f9bdc4f983c4f9a3c4f993c4f9b3c4b94ce25c2e71ae9038574a9cab24ced512e71a8973adc4b94ee25c2f716e9038374a9c9b24cecd12e7168973abc4b94de2dc2e71ee9038774a9cbb24cedd12e71e8973afc4b94fe2dc2f711e90380f4a9c8724cec312e71189f3a8c4794ce23c2e719e90384f4a9ca724ced312e71989f3acc4794ee23c2f715e90382f4a9c9724cecb12e71589f3aac41996cae14c247126963893489c4925ce64126772893385c49952e24c2571a69638d3489c6925ce7412677a89335ce2cc207166943833499c9925ce2c12675689339bc4995de2cc2171e6943873499cb925ce3c12675e89339fc4995fe22c20711694380b499c8525ce2212675189b398c4595ce22c21719694384b499ca525ce3212675989b39cc4595ee28c90382325ce2889b382c4192d715694382b499c9525ce2a12675589b39ac4595de2ac2171d694386b499cb525ce3a12675d89b39ec4595fe26c20713694381b499c8d25ce2612675389b399c4d95ce26c2171b694385b499cad25ce3612675b89b39dc4d95ee2ec20717694383b499c9d25ce2e12675789b39bc4d95de2ec2171f694387b499cbd25ce3e12675f89b39fc4d95fe21c20710e943807499c8325ce2112e750897398c4395ce21c21718e943847499ca325ce3112e75889739cc4395ee29c20714e943827499c9325ce2912e75489739ac4395de29c2171ce943867499cb325ce3912e77512e75c89f37a89f30689f34689f32689739ec479b3c4798bc479abc4395fe2bc4de2bc5de2bc43e2bc53e2bc4be2bc5be2bc47e2bc57e2bc4fe2bc5fe27c40e27c50e27c48e27c58e27c44e27c54e27c4ce27c5ce27c42e25c20713e29713e25713e2d713e23713e2b713e27712e943817499ccf4b9c8b25ce1724ce1725ce9724ce9725ce5724ce5725ced724ced725ce3724ce3725ceb724ce2512e7db12e73b12e7bb12e77b12e7fb12e70712e78712e74712e7c712e72712e7a712e76712e7e712e71712e79712e75712e7d712e73712e7b712e77712e75289f37b89f30789f34789f32789f367897399c4b95ce25c2171ae943857499cab25ce3512e75a89739dc4b95ee2dc20716e943837499c9b25ce2d12e75689739bc4b95de2dc2171ee943877499cbb25ce3d12e75e89739fc4b95fe23c20711e94380f499c8725ce2312e75189f398c4795ce23c21719e94384f499ca725ce3312e75989f39cc4795ee2bc20715e94382f499c9725ce2b12e75589332cb5c39948e24c2c71269138934a9cc924cee412670a8933a5c4994ae24c2d71a69138d34a9ce924cef41267b8c49941e2cc2871669238334b9c5924ceac1267368933bbc49943e2cc2971e69238734b9c7924cebc12673e8933bfc45940e22c28711692380b4b9c4524cea212673189b3b8c45942e22c29719692384b4b9c6524ceb212673989b3bcc4192171464a9c5112670589335ae2ac28715692382b4b9c5524ceaa12673589b3bac45943e2ac2971d692386b4b9c7524ceba12673d89b3bec4d940e26c28713692381b4b9c4d24cea612673389b3b9c4d942e26c2971b692385b4b9c6d24ceb612673b89b3bdc4d941e2ec28717692383b4b9c5d24ceae12673789b3bbc4d943e2ec2971f692387b4b9c7d24cebe12673f89b3bfc43940e21c28710e9238074b9c4324cea112e7308973b8c43942e21c29718e9238474b9c6324ceb112e7388973bcc43941e29c28714e9238274b9c5324cea912e7348973bac43943e29c2971ce9238674b9c7324ceeb24ceb912e7f512e70d12e78d12e74d12e73c89f36689f31689f3568973bec4799bc479bbc47987c479a7c47997c479b7c4798fc479afc4799fc479bfc4f980c4f9a0c4f990c4f9b0c4f988c4f9a8c4f998c4f9b8c4f984c4b940e27c52e27c4ae27c5ae27c46e27c56e27c4ee25c28712e92389f9738174b9c2f489c2f4a9c2f499c2f4b9caf489caf4a9caf499caf4b9c6f489c6f4a9c6f499c4b24ceb725ce7724ce7725cef724cef725ce0f24ce0f25ce8f24ce8f25ce4f24ce4f25cecf24cecf25ce2f24ce2f25ceaf24ceaf25ce6f24ce6f25ceef24cea512e7f712e70f12e78f12e74f12e7cf12e7328973b9c4b942e25c2971ae9238574b9c6b24ceb512e73a8973bdc4b941e2dc28716e9238374b9c5b24cead12e7368973bbc4b943e2dc2971ee9238774b9c7b24cebd12e73e8973bfc47940e23c28711e92380f4b9c4724cea312e73189f3b8c47942e23c29719e92384f4b9c6724ceb312e73989f3bcc47941e2bc28715e92382f4b9c5724ceab1267581a873391c49958e24c227126953893499cc925ce1412674a893395c4995ae24c2371a69538d3499ce925ce70893383c49951e2cc2471669638b3489c5925ce6c126776893387c49953e2cc2571e69638f3489c7925ce7c12677e89b380c45950e22c24711696388b489c4525ce6212677189b384c45952e22c2571969638cb489c6525ce72126779893342e28c9438a324ce0a1267b4c45951e2ac2471569638ab489c5525ce6a12677589b386c45953e2ac2571d69638eb489c7525ce7a12677d89b381c4d950e26c24713696389b489c4d25ce6612677389b385c4d952e26c2571b69638db489c6d25ce7612677b89b383c4d951e2ec2471769638bb489c5d25ce6e12677789b387c4d953e2ec2571f69638fb489c7d25ce7e12677f897380c43950e21c24710e963887489c4325ce6112e770897384c43952e21c25718e9638c7489c6325ce7112e778897382c43951e29c24714e9638a7489c5325ce6912e774897386c43953e29c2571ce9638e7489cd7499c7325ceeb25ce1b24ce1b25ce9b24ce7912e7cd12e72d12e7ad12e77c89f33689f37689f30e89f34e89f32e89f36e89f31e89f35e89f33e89f37e89f30189f34189f32189f36189f31189f35189f33189f37189f309897381c4f9a4c4f994c4f9b4c4f98cc4f9acc4f99cc4b950e25c24713e2f712e96385f90385f94385f92385f96385f91385f95385f93385f9738df9038df9438df923897489c6f4b9cef489cef4a9cef499cef4b9c1f489c1f4a9c1f499c1f4b9c9f489c9f4a9c9f499c9f4b9c5f489c5f4a9c5f499c5f4b9cdf489cdf4a9cdf499c4b25ceef25ce1f24ce1f25ce9f24ce9f25ce6512e772897385c4b952e25c2571ae9638d7489c6b25ce7512e77a897383c4b951e2dc24716e9638b7489c5b25ce6d12e776897387c4b953e2dc2571ee9638f7489c7b25ce7d12e77e89f380c47950e23c24711e96388f489c4725ce6312e77189f384c47952e23c25719e9638cf489c6725ce7312e77989f382c47951e2bc24715e9638af489c5725ceb0b40e67228933b1c49944e24c2a71269338934b9c2924ce9412672a8933b5c49946e24c2b71a69338d34b9ce11267068933a3c49949e2cc2c71669138b34a9cd924ceec12670e8933a7c4994be2cc2d71e69138f34a9cf924cefc12670189b3a0c45948e22c2c711691388b4a9cc524cee212670989b3a4c4594ae22c2d71969138cb4a9ce524cef2126784c419297146499c1524ce6889b3a2c45949e2ac2c71569138ab4a9cd524ceea12670d89b3a6c4594be2ac2d71d69138eb4a9cf524cefa12670389b3a1c4d948e26c2c713691389b4a9ccd24cee612670b89b3a5c4d94ae26c2d71b69138db4a9ced24cef612670789b3a3c4d949e2ec2c71769138bb4a9cdd24ceee12670f89b3a7c4d94be2ec2d71f69138fb4a9cfd24cefe12e7008973a0c43948e21c2c710e9138874a9cc324cee112e7088973a4c4394ae21c2d718e9138c74a9ce324cef112e7048973a2c43949e29c2c714e9138a74a9cd324cee912e70c8973a6c4394be29c2d71ce9138af9338e74a9cd74b9c37489c374a9c37499cf324ce9b25ce5b24ce5b25cef912e76d12e7ed12e71d12e79d12e75d12e7dd12e73d12e7bd12e77d12e7fd12e70312e78312e74312e7c312e72312e7a312e76312e7e312e71312e70289f34989f32989f36989f31989f35989f3398973a1c4b948e27c5ee25c2c71be2071be2871be2471be2c71be2271be2a71be2671be2e71be2171be2971be25712e9138df9638df9138df9538df9338df97383f90383f94383f92383f96383f91383f95383f93383f9738bf9038bf9438bf9238bf9638bf9138bf9538bf9338974a9cdf4b9c3f489c3f4a9c3f499c3f4b9ccb24cee512e70a8973a5c4b94ae25c2d71ae9138d74a9ceb24cef512e7068973a3c4b949e2dc2c716e9138b74a9cdb24ceed12e70e8973a7c4b94be2dc2d71ee9138f74a9cfb24cefd12e70189f3a0c47948e23c2c711e91388f4a9cc724cee312e70989f3a4c4794ae23c2d719e9138cf4a9ce724cef312e70589f3a2c47949e2bc2c715e9138af4a9c61e91cce44126762893389c49954e24c267126973853489c2925ce5412676a89338dc49956e24c2771a69738c325ce0c126746893393c49959e2cc2271669538b3499cd925ce1c12674e893397c4995be2cc2371e69538f3499cf925ce0212674189b390c45958e22c22711695388b499cc525ce1212674989b394c4595ae22c2371969538cb499ce525ce08893352e28c92382b489cd112674589b392c45959e2ac2271569538ab499cd525ce1a12674d89b396c4595be2ac2371d69538eb499cf525ce0612674389b391c4d958e26c22713695389b499ccd25ce1612674b89b395c4d95ae26c2371b69538db499ced25ce0e12674789b393c4d959e2ec2271769538bb499cdd25ce1e12674f89b397c4d95be2ec2371f69538fb499cfd25ce0112e740897390c43958e21c22710e953887499cc325ce1112e748897394c4395ae21c23718e9538c7499ce325ce0912e744897392c43959e29c22714e9538a7499cd325ce1912e74c897396c4395be29c23715e2771ce9538af97386f90386f94386f9238e7499c374b9cb7489cb74a9cf325cedb24cedb25ce3b24ce3b25cebb24cebb25ce7b24ce7b25cefb24cefb25ce0724ce0725ce8724ce8725ce4724ce4725cec724cec725ce2724ce0512e79312e75312e7d312e73312e7b312e77312e742897391c4f9bcc4b958e27c41e27c51e27c49e27c59e27c45e27c55e27c4de27c5de27c43e27c53e27c4be25c2271be2d71be2371be2b71be2771be2f717e20717e28717e24717e2c717e22717e2a717e26717e2e717e21717e29717e25717e2d717e23717e2b717e27712e9538bf97387f90387f94387f92387f963897499ccb25ce1512e74a897395c4b95ae25c2371ae9538d7499ceb25ce0d12e746897393c4b959e2dc22716e9538b7499cdb25ce1d12e74e897397c4b95be2dc2371ee9538f7499cfb25ce0312e74189f390c47958e23c22711e95388f499cc725ce1312e74989f394c4795ae23c23719e9538cf499ce725ce0b12e74589f392c47959e2bc22715e9538c3d23b9c8924cec41267128933a9c4994ce24c2e71a69038534a9ca924ced412671a8933adc4994ee24c2f71864b9c1924ce8c1267268933b3c49945e2cc2a71669338b34b9c3924ce9c12672e8933b7c49947e2cc2b71e69338f34b9c0524ce8212672189b3b0c45944e22c2a711693388b4b9c2524ce9212672989b3b4c45946e22c2b71969338cb4b9c111267a4c4192571569038a325ce8a12672589b3b2c45945e2ac2a71569338ab4b9c3524ce9a12672d89b3b6c45947e2ac2b71d69338eb4b9c0d24ce8612672389b3b1c4d944e26c2a713693389b4b9c2d24ce9612672b89b3b5c4d946e26c2b71b69338db4b9c1d24ce8e12672789b3b3c4d945e2ec2a71769338bb4b9c3d24ce9e12672f89b3b7c4d947e2ec2b71f69338fb4b9c0324ce8112e7208973b0c43944e21c2a710e9338874b9c2324ce9112e7288973b4c43946e21c2b718e9338c74b9c1324ce8912e7248973b2c43945e29c2a714e9338a74b9c3324ce9912e72c8973b6c43947e2bc4ee29c2b715e2f71de2071de2871de2471ce93386f96386f91386f9538e74b9cb7499cb74b9c77489c774a9c77499c774b9cf7489cf74a9cf7499cf74b9c0f489c0f4a9c0f499c0f4b9c8f489c8f4a9c8f499c8f4b9c4f489c0b24ce2725cea724cea725ce6724ce6725cee724ce8512e72289f3798973b1c4f982c4f9a2c4f992c4f9b2c4f98ac4f9aac4f99ac4f9bac4f986c4f966023913c7715688a8141d3db072d4c0c80a917d23a2aaf6ab523122ba62bf4a5522ab4456ac52714054950a15065689ae52b96abfaa9523aa464657181839a862d50a8362a65d3c84637eeb2f1a73c49fbb442e491fbaf9372cdcf138270de1fc7b5bb26c270be198df918c397908c7fcae64cc294238e6f724634e19c231bf2f1973aa108ef903c998538770cc1f4ac69c268463fe4832e6b4211cf3c79231a70be1983f918c1966c8c6fca964cce1211cf36792316708e1983f978c396308c7fc8564cc994238e62f2563ce1cc2317f25197396108ef96bc998b38670ccdf48c69c2d8463fe5632e6ec211cf3779231e708e198974ac69c338463fe5e32e65c211cf30f9231e70ee1987f948c394f08c7fc9364cc794338e69f2563ce17c2312f938c397f08c7bc5c32e602211cf30ac9980b8670cc2b25632e14c231af928cb97008c7bc5a32e622211cf31ac9988b8670cc6b25632e16c231af0be1989384fdf36f7c027fdf16b894a6325496ca51f9c0cfa0488a0acc078aa68a54892a5315aa4ad5a83ad5a09a548b6ac78cbb2ed5a3fad4801a52236a4c4da82935a3e6d4825a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed4837a522fea4d7da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d63682c8da3f1348126d2249a4c53682a4da3e9348366d22c9a4d73e83a9a4bd7d30d7423dd44f3e866ba856ea5f9741bdd4e77d09d7417dd4df7d0bd741fdd4f0fd083f4103d4c8fd0a3f4183d4e4fd0027a929ea2a7e9197a969ea385b4889ea7c5f402bd482fd1cbf40abd4aafd1ebf406bd496fd1127a9bdea177e93d7a9f3ea00fe923fa983ea14fe933fa9cbea02fe92bfa9abea16fe93b5a4adfd30ff423fd443fd3325a4e2b6825ada2d5b486d6d23a5a4f1b68236da2cdb485b6d236da4e3b6827eda2ddb487f6d23eda4f07e8201da2c374848ed2313a4e27e8249da2d37486ced2393a4f17e8225da2cb7485ae5260054b4489290925a564949c52504a4a45a9290da5a574949ec2290365a44c9499b25056ca46d92907e5a45c949bf2505eca47f9a90015a44254988a50512a46c5a90495a452549aca50592a47e5298222298a2a503455a44a5499aa5055aa46d5a906d5a45a549bea505daa47f5a90135a446d4989a50536a46cda905b5a456d49ada505b6a47eda90375a44ed499ba5057ea46dda907f5a45ed49bfa505fea47fd69000da441349886d0501a46c369048da451349ac6d0581a47e369024da4493499a6d0549a46d36906cda459349be6d0753497aea71be846ba89e6d1cd740bdd4af3e936ba9deea03be92eba9beea17be93eba9f1ea007e9217a981ea147e9317a9c9ea005f4243d454fd333f42c3d470b69113d4f8be9057a915ea297e9157a955ea3d7e90d7a93dea225f436bd43efd27bf43e7d401fd247f4317d429fd267f4397d415fd257f4357d43dfd277b494bea71fe847fa897ea665b49c56d04a5a45ab690dada575b49e36d046da449b690b6da56db49d76d04eda45bb690feda57db49f0ed0413a4487e9081da563749c4ed0493a45a7e90c9da573749e2ed045ba4497e90a5da5c0c144224a4c49282925a3e4948252522a4a4d69282da5a3f4144e19282365a2cc9485b25236ca4e392827e5a2dc9487f2523eca4f05a82015a2c254848a52312a4e25a82495a2d25486ca52392a4f111449515481a2a92255a2ca5485aa5235aa4e35a826d5a2da5487ea523daa4f0da82135a2c6d4849a52336a4e2da825b5a2d6d486da523b6a4f1da82375a2ced485ba5237ea4e3da827f5a2ded487fa523fea4f0368200da2c1348486d2301a4e2368248da2d13486c6d2381a4f1368224da2c93485a6d2349a4e336826cda2d93487aea3b9743ddd4037d24d348f6ea65be8569a4fb7d1ed7407dd4977d1dd740fdd4bf7d1fdf4003d480fd1c3f4083d4a8fd1e3f4042da027e9297a9a9ea167e9395a488be8795a4c2fd08bf412bd4cafd0abf41abd4e6fd09bf4162da1b7e91d7a97dea3f7e903fa903ea28fe913fa943ea3cfe90bfa92bea2afe91bfa96bea3a5f43dfd403fd24ff4332da3e5b48256d22a5a4d6b682dada3f5b48136d226da4c5b682b6da3edb48376d22eda4d7b682feda3fd74800ed2213a4c47e8281da3e374824ed2293a4d67e82c9da3f374812ed225ba4c57e82a8571909d881253124a4ac92839a5a094948a52531a4a4be9283d855306ca4899283365a1ac948db2530eca49b92837e5a1bc948ff253012a4885a83015a1a2548c8a53092a49a5a83495a1b2548eca53e09784488aa20a144d15a91255a62a5495aa5175aa4135a916d5a63a5497ea517d6a400da91135a626d4949a51736a412da915b5a636d496da517bea401da91375a62ed495ba5177ea413da917f5a63ed497fa517f1a400369100da621349486d1701a412369148da6313496c6d1789a401369124da6293495a6d1749a41336916cda639741dcda5ebe906ba916ea2797433dd42b7d27cba8d6ea73be84eba8beea67be85eba8feea707e8417a881ea647e8517a8c1ea72768013d494fd1d3f40c3d4bcfd1425a44cfd3627a815ea497e8657a855ea5d7e8757a83dea4b76809bd4defd0bbf41ebd4f1fd087f4117d4c9fd0a7f4197d4e5fd097f4157d4ddfd0b7f41d2da5efe907fa917ea29f69192da715b49256d16a5a436b691dada70db49136d166da425b691b6da71db49376d16eda437b691feda70374900ed1613a4247e9181da71374924ed1693a4367e91c9da70b74912ed165ba4257292c29eb3f25a62494949251724a41292915a5a6349496d2517a0aa70c9491325166ca4259291b65a71c949372516eca4379291fe5a70254900a51612a4245a91815a71254924a51692a4365a91c95a7c03f4944521455a068aa4895a83255a1aa548daa530daa49b5a836d5a1ba548fea53036a488da83135a1a6d48c9a530b6a49ada835b5a1b6d48eda5307ea489da83375a1aed48dba530fea49bda837f5a1bed48ffad3001a488368300da1a1348c86d3081a49a368348da1b1348ec6d3049a489368324da1a9348da6d30c9a49b36836cda1eb682e5d4f37d08d7413cda39be916ba95e6d36d743bdd4177d25d7437dd43f7d27d743f3d400fd243f4303d428fd263f4383d410be8497a8a9ea667e8597a8e16d2227a9e16d30bf422bd442fd32bf42abd46afd31bf426bd454be86d7a87dea5f7e87dfa803ea48fe863fa843ea5cfe873fa82bea4afe86bfa86bea5ef68297d4f3fd08ff413fd4ccb6839ada095b48a56d31a5a4beb683d6da08db48936d316da4adb683beda09db48b76d31eda4bfb683f1da08374880ed3113a4ac7e8389da093748a4ed3193a4be7e83c5da08b74892ed315ba4a61c958ff293125a1a4948c92530a4a49a92835a5a1b4948ed2533865a08c9489325316ca4ad9283be5a09c948b72531eca4bf9283f15a08254880a53112a4ac5a83895a092548a4a53192a4be5a83c05fe612892a2a802455345aa4495a90a55a56a549d6a504daa45b5a90ed5a57a549f1a50436a448da90935a566d49c5a504b6a45ada90db5a576d49e3a5047ea449da90b75a56ed49d7a504fea45bda90ff5a57ed49f06d0401a448369080da561349c46d0481a45a3690c8da571349e26d0449a4493690a4da569349d66d04c9a45b3690e5d4773e97aba816ea49b681edd4cb7d0ad349f6ea3dbe90eba93eea2bbe91eba97eea3fbe9017a901ea287e9117a941ea3c7e9095a404fd253f4343d43cfd273b49016d1f3b4985ea017e9257a995ea157e9357a9ddea037e92d5a426fd33bf42ebd47efd307f4217d441fd327f4297d469fd317f4257d455fd337f42d7d474be97bfa817ea49fe8675a46cb6905ada455b49ad6d05a5a47eb69036da44db499b6d056da46db6907eda45db49bf6d05eda47fbe9001da44374988ed0513a46c7e9049da453749aced0593a47e7e9025da44b7499aed0550a4bcefa4f89290925a564949c52504a4a45a9290da5a574949ec2290365a44c9499b25056ca46d92907e5a45c949bf2505eca47f9a90015a44254988a50512a46c5a90495a452549aca50592a47e529f0cf7391144515289a2a5225aa4c55a82a55a3ea54836a522daa4d75a82ed5a3fad4801a52236a4c4da82935a3e6d4825a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed4837a522fea4d7da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d63682c8da3f1348126d2249a4c53682a4da3e9348366d22c9a4d73e83a9a4bd7d30d7423dd44f3e866ba856ea5f9741bdd4e77d09d7417dd4df7d0bd741fdd4f0fd083f4103d4c8fd0a3f4183d4e4fd0027a929ea2a7e9197a969ea385b4889ea7c5f402bd482fd1cbf40abd4aafd1ebf406bd496fd1127a9bdea177e93d7a9f3ea00fe923fa983ea14fe933fa9cbea02fe92bfa9abea16fe93b5a4adfd30ff423fd443fd3325a4e2b6825ada2d5b486d6d23a5a4f1b68236da2cdb485b6d236da4e3b6827eda2ddb487f6d23eda4f07e8201da2c374848ed2313a4e27e8249da2d37486ced2393a4f17e8225da2cb7485ae52580ad67f4a4c49282925a3e4948252522a4a4d69282da5a3f4144e19282365a2cc9485b25236ca4e392827e5a2dc9487f2523eca4f05a82015a2c254848a52312a4e25a82495a2d25486ca52392a4f817f248da428aa40d154912a5165aa4255a91a55a71a54936a516daa4375a91ed5a706d4901a51636a424da91935a716d4925a516b6a436da91db5a70ed4913a5167ea425da91b75a71ed4937a516fea437da91ff5a701349006d1601a424369180da711349246d1681a4363691c8da709349126d1649a4253691a4da719349366d16c9a43d7d15cba9e6ea01be9269a4737d32d742bcda7dbe876ba83eea4bbe86eba87eea5fbe87e7a801ea487e8617a841ea5c7e8717a8216d093f4143d4dcfd0b3f41c2da445f43c2da617e8457a895ea657e8557a8d5ea737e84d7a8b96d0dbf40ebd4befd1fbf4017d481fd1c7f4097d4a9fd1e7f4057d495fd1d7f40d7d4bdfd152fa9e7ea01fe927fa9996d1725a412b6915ada635b496d6d17ada401b69136da62db495b6d176da413b6917eda63db497f6d17e3a4007e9101da62374948ed1713a4127e9149da6337496ced179ba4017e9125da62b7495c252b2fe53624a4249291925a714949252516a4a4369291da5a770ca4019291365a62c9495b25176ca41392917e5a63c9497f2517e2a4005a91015a62254948a51712a4125a91495a6325496ca51790afc5375244551058aa68a54892a5315aa4ad5a83ad5a09a548b6a531daa4bf5a83e35a086d4881a53136a4acda839b5a096d48a5a531b6a4beda83d75a08ed4893a5317ea4adda83bf5a09ed48b7a531fea4bfda83f0da081348806d3101a4ac368388da091348a46d3181a4be3683c4da089348926d3149a4ad3683acda099348b66d31cba8ee6d2f57403dd4837d13cba996ea15b693edd46b7d31d7427dd4577d33d742fdd47f7d303f4203d440fd323f4283d468fd313b4809ea4a7e8697a869ea5e768212da2e76931bd402fd24bf432bd42afd26bf43abd416fd25bb484dea677e85d7a8fdea70fe843fa883ea64fe853fa8c3ea72fe84bfa8abea66fe85bfa8e96d2f7f403fd483fd1cfb48c96d30a5a49ab6835ada1b5b48ed6d306da489b68336da1adb48db6d30eda49bb6837eda1bdb48ff6d3013a4887e8301da1a3748c8ed3093a49a7e8349da1b3748eced305ba4897e8325da1ab14968af59f1253124a4ac92839a5a094948a52531a4a4be9283d855306ca4899283365a1ac948db2530eca49b92837e5a1bc948ff253012a4885a83015a1a2548c8a53092a49a5a83495a1b2548eca53e0040391144515289a2a5225aa4c55a82a55a3ea54836a522daa4d75a82ed5a3fad4801a52236a4c4da82935a3e6d4825a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed4837a522fea4d7da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d63682c8da3f1348126d2249a4c53682a4da3e9348366d22c9a4d73e83a9a4bd7d30d7423dd44f3e866ba856ea5f9741bdd4e77d09d7417dd4df7d0bd741fdd4f0fd083f4103d4c8fd0a3f4183d4e4fd0027a929ea2a7e9197a969ea385b4889ea7c5f402bd482fd1cbf40abd4aafd1ebf406bd496fd1127a9bdea177e93d7a9f3ea00fe923fa983ea14fe933fa9cbea02fe92bfa9abea16fe93b5a4adfd30ff423fd443fd3325a4e2b6825ada2d5b486d6d23a5a4f1b68236da2cdb485b6d236da4e3b6827eda2ddb487f6d23eda4f07e8201da2c374848ed2313a4e27e8249da2d37486ced2393a4f17e8225da2cb7485ae52586ad67f4a4c49282925a3e4948252522a4a4d69282da5a3f4144e19282365a2cc9485b25236ca4e392827e5a2dc9487f2523eca4f05a82015a2c254848a52312a4e25a82495a2d25486ca52392a4f81936d44521455a068aa4895a83255a1aa548daa530daa49b5a836d5a1ba548fea53036a488da83135a1a6d48c9a530b6a49ada835b5a1b6d48eda5307ea489da83375a1aed48dba530fea49bda837f5a1bed48ffad3001a488368300da1a1348c86d3081a49a368348da1b1348ec6d3049a489368324da1a9348da6d30c9a49b36836cda1eb682e5d4f37d08d7413cda39be916ba95e6d36d743bdd4177d25d7437dd43f7d27d743f3d400fd243f4303d428fd263f4383d410be8497a8a9ea667e8597a8e16d2227a9e16d30bf422bd442fd32bf42abd46afd31bf426bd454be86d7a87dea5f7e87dfa803ea48fe863fa843ea5cfe873fa82bea4afe86bfa86bea5ef68297d4f3fd08ff413fd4ccb6839ada095b48a56d31a5a4beb683d6da08db48936d316da4adb683beda09db48b76d31eda4bfb683f1da08374880ed3113a4ac7e8389da093748a4ed3193a4be7e83c5da08b74892ed315ba4a616958ff293125a1a4948c92530a4a49a92835a5a1b4948ed2533865a08c9489325316ca4ad9283be5a09c948b72531eca4bf9283f15a08254880a53112a4ac5a83895a092548a4a53192a4be5a83c054e3c1349515481a2a92255a2ca5485aa5235aa4e35a826d5a2da5487ea523daa4f0da82135a2c6d4849a52336a4e2da825b5a2d6d486da523b6a4f1da82375a2ced485ba5237ea4e3da827f5a2ded487fa523fea4f0368200da2c1348486d2301a4e2368248da2d13486c6d2381a4f1368224da2c93485a6d2349a4e336826cda2d93487aea3b9743ddd4037d24d348f6ea65be8569a4fb7d1ed7407dd4977d1dd740fdd4bf7d1fdf4003d480fd1c3f4083d4a8fd1e3f4042da027e9297a9a9ea167e9395a488be8795a4c2fd08bf412bd4cafd0abf41abd4e6fd09bf4162da1b7e91d7a97dea3f7e903fa903ea28fe913fa943ea3cfe90bfa92bea2afe91bfa96bea3a5f43dfd403fd24ff4332da3e5b48256d22a5a4d6b682dada3f5b48136d226da4c5b682b6da3edb48376d22eda4d7b682feda3fd74800ed2213a4c47e8281da3e374824ed2293a4d67e82c9da3f374812ed225ba4c57e82a85a565fda7c494849252324a4e292825a5a2d49486d2523a4a4fe19481325226ca4c59282b65a3ec948372522eca4d79282fe5a3fc54800a52212a4c45a82815a3e254824a52292a4d65a82c95a3f214380953244551058aa68a54892a5315aa4ad5a83ad5a09a548b6a531daa4bf5a83e35a086d4881a53136a4acda839b5a096d48a5a531b6a4beda83d75a08ed4893a5317ea4adda83bf5a09ed48b7a531fea4bfda83f0da081348806d3101a4ac368388da091348a46d3181a4be3683c4da089348926d3149a4ad3683acda099348b66d31cba8ee6d2f57403dd4837d13cba996ea15b693edd46b7d31d7427dd4577d33d742fdd47f7d303f4203d440fd323f4283d468fd313b4809ea4a7e8697a869ea5e768212da2e76931bd402fd24bf432bd42afd26bf43abd416fd25bb484dea677e85d7a8fdea70fe843fa883ea64fe853fa8c3ea72fe84bfa8abea66fe85bfa8e96d2f7f403fd483fd1cfb48c96d30a5a49ab6835ada1b5b48ed6d306da489b68336da1adb48db6d30eda49bb6837eda1bdb48ff6d3013a4887e8301da1a3748c8ed3093a49a7e8349da1b3748eced305ba4897e8325da1ab14968ef59f1253124a4ac92839a5a094948a52531a4a4be9283d855306ca4899283365a1ac948db2530eca49b92837e5a1bc948ff253012a4885a83015a1a2548c8a53092a49a5a83495a1b2548eca53e0846491144515289a2a5225aa4c55a82a55a3ea54836a522daa4d75a82ed5a3fad4801a52236a4c4da82935a3e6d4825a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed4837a522fea4d7da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d63682c8da3f1348126d2249a4c53682a4da3e9348366d22c9a4d73e83a9a4bd7d30d7423dd44f3e866ba856ea5f9741bdd4e77d09d7417dd4df7d0bd741fdd4f0fd083f4103d4c8fd0a3f4183d4e4fd0027a929ea2a7e9197a969ea385b4889ea7c5f402bd482fd1cbf40abd4aafd1ebf406bd496fd1127a9bdea177e93d7a9f3ea00fe923fa983ea14fe933fa9cbea02fe92bfa9abea16fe93b5a4adfd30ff423fd443fd3325a4e2b6825ada2d5b486d6d23a5a4f1b68236da2cdb485b6d236da4e3b6827eda2ddb487f6d23eda4f07e8201da2c374848ed2313a4e27e8249da2d37486ced2393a4f17e8225da2cb7485ae52587ad67f4a4c49282925a3e4948252522a4a4d69282da5a3f4144e19282365a2cc9485b25236ca4e392827e5a2dc9487f2523eca4f05a82015a2c254848a52312a4e25a82495a2d25486ca52392a4f8193f345521455a068aa4895a83255a1aa548daa530daa49b5a876e07f15a92ed5a3fad4801a52236a4c4da82935a3e6d4825a522b6a4d6da82db5a3f6d4813a5227ea4c5da82b75a3eed4837a522fea4d7da82ff5a3fe348006d2201a4c4368280da3e1348246d2281a4d63682c8da3f1348126d2249a4c53682a4da3e9348366d22c9a4d81f79a0fbc8f7be03dd203ef3f1e786fefc0fb6607de933af07ecf81f7520ebc4f71e03d8003efaf1b78efdac0fbc206de7335f07ea681f70a0dbc0f67e03d2e03ef1f19786fc6c0fb1e06de5330f07e7d81f7c20bbccf5ce03ddc02ef8f1678efb1c0fb7a05de332bf07e5481f77a0abc8f52e03d8a02efff13786f9dc0fbd604de1326f07e2b81f73209bc4f48e03d3802ef6f1178ef88c0fb3204fe2734f07e028173f507ce831f38c77ce0fced81f39907ce151e38df75e0fccf81f32107ce0f1c385f6ee0fcb181f3a906ce2f1a38df66e0fc9381f33106ce4f18385f5fe0fc7581f3b905ce6f1638df57e0fc5781f34105ce8f14385f50e0fc3981f3c904ceaf1238df48e0fc1b81f35104cecf10385f41e0fff703ffcf1ef8ffeec0ff3b07feff37f0ffb089fff96f76813fb5fdc7a574d82f97987fc1098bf953dcb0983fc9098b79692e2ce629bab09843f5b09855362c707ec6c0f90a03e7ef0b9ccf2e707eb7c0f9ce02e7ff0a9c0f2b707ea8c0f99202e70f0a9c4f27707e99c0f95602e71f099c8f23707e8a0254900a51612a4245a91815a71254924a85fdf6922ae87ae6988f5977d5cd3976e9a286c1f76b1ff371c1e27c4b72ef4adc2df8b60ebf735bd7dfb9adfbefdc362de663bde22bbb2e4c34e754f06d73633e1e2954a44ea636ff9805ff7799f73b63987f8ddb52c67cac18f331769e248ef918786c038f6b9d98cf23fedc253255d074433dfd2a1115fb053fa609e00fbc3cf37fcb7b42cd9fd86926c0f4ff71cef2c0a5d99c5fa61f772c814bba98cf1305cdcbd8ef092c33b1eb4be07aeea0ef0f9e5e58ccf4e24e27f6f6841c6b9588e87eb1d34f9a00d3e7a1fac77984ff31c639bf9d97b1b7259df3eb9f1d7c5bb2a0db9206cdcf2271e64f422c6bc1f3276196b5c87f9caff35acb57ec7a5a7f4e42fcec8801b1d36f1033fdb0ff7cda9171bf103bed860963af103bfd460933fd41b1d36ffcefcf9bc83f9a78ecb49bfcfbd38ef883737cfcdfbea3e97f30ed3f3abf48e0d824b0ee958f995eecf62f785b16bb0d4be0f52632519c9f1716e76785c5f9f9a9c312769f9428cecf8bf5c49d3fb1d703c778b1fb87c10327d41f3d6ac2b8befd27341d357e42df51fd07060f2178b21982be1e7c7bf025ee7de2de2feefdd3c5737b2c334dd0d753cc09fbd5d0fef131e86bb19bead84d77cae0fbc7b92d55d06d49e7fcda953ae6f3a4413f27785ab18e6471ee5f2ee6f3f0988fc983be27f6fb33c4f3f393c7f9f9bf72c7f3b5e04528eeb492c4f3b5d8fb070ef78bc75c0fccd7d85535e99c5fa617aa45b272958888585fecbc4f16f6ebc5332ccecf4f16e7fed1319fa78e33ded85d719dffd039a872dfc84115fa0eea5bb1ef8001d1fdfb668a33fde07916984fb1bf96b80fbba307fcefb0fbf72fa13aec4e1ff6cbf56c41df13b8340f9a76a238b7b588e7e7ba0fbf23a232c7e34f1a34b6c0e57f8797bfb9fceff0f2bf787819fbab5d92b0df2ebb71f741710fb1e21e82855d631af11debc4fd1949e2995e8339bfbe2de9bf608b6fdd0b8be76bf1d992fc812d693cb6b8d34dfc3be3b8d6cf093605ffba1e775e278a735b7c76c3b14ec998cfffdbc73a2562aeffef58e7772f1512f858242a81f7cbf11eebc4b79df8bd639df87efd8e3dbef9a3e3a0e0639db8bfb227d05369fd13f8318bfcdf5369ffd1e57fc73affc5639d42bf4cfa57eb7db2b06b1fa7248b73dfbc311f03cf2fe4bac6f492ffcef462b72349aef17d0562aea78a671affce3cf9834b647c8e44f138ecc71ab1cf01fdb78f356ac75c971f6b0c941f6b44ff5d8e3592c4b95f7cdff37bc7237fd54b7109349ffeef714e9e40d38f9d6fc982e65d7cbf47c6fefcb8dbc3d8dbe3fb181616ffcb1ffff71c7958c21e7bfdded882fdb1cb468638f78f3b0fae35ad64ffe6b4fe9b8f69f0bc0e7e4cff719f39bfdcf67b2f87278b735bb239bf1d63e038227fd0fdae750c1cb85fa9a0eb5171e651426e9f136abb10b8640ebbf6b14decd7feeeaf5dc53efff0777eed2af65835f818eb7fbf4ffde6f2bfdfa7fe8bbf4f550dfb659e5f6bbb1cfc7c49ecf5f0b0dfee8362bf3781f7215189c27ebb9f8cbbbf0bfef9813f1dc81a737dfc84d1e306361dd570cac0fe13270c1d3daa7edffe4306061f14c49d48583c838fbd2d51d0d7af759018f77b9204dd3ff862f845ac56cce7ffed5fc4fac75c97ff5d69e45ff58b5802ad881563a79f2261a61fef2f62c16389bd3d76198e7d3237f87aac29f63e2d83eed3f21af76915749f5641f7095cfed32798e3fbe5a4459cdb825f9c6a19e7b6e00d73ac29b0018fddb005aee70d32062eade7fc624f14e7b63641b7fd452fde0ffadf8bf7ffd2e57f0760bf5cfe7f7f00d620667ab1eb79f25f7ed42fbf748425e876b642a2383f2f2c2cfe2747627f7eeab004ddaffcdf932329e278e2ce9fd8ed56f0df86f6ef3b62449b714327f59d30b0d1c451fd03c778c143089e6ce2788678ad43bee0cd6fdcfbc5dde4c7ddccc7ddb4076fce83a77badef8ffbb5d89f1d1ef6dbdfe393c731c67d48e37e2dee734271bf3f70896f9797e81a1f637f4ed81ffc9cf8ccbff7e7d1ffeecf49e8bfbdcb10c71afcb31278375731be4382b038f3f0f71ec7e0cd48dc75202c9ef91b16749fe0e7d09a054d37eefde27ae27b6e2fbedfd9e23e5ef13ddffb47cf1dc69defa9aef173eac47c1ef1e72e95e2db74c71d7ff03c8ffb78a40cbaeddf7d3c62c7f4ef3e1ec1f328459cdb82d7b524716e0bf6c54ec3f0ab6bd398cfffdbbfba06eff2c3c37ebbecc6ddb6c7f777657fd5f32bb1cb45ecbc8eeb491e747bf0fddbc67c0c8cb5679cb105af23bff77a475c43f0fd83c79d34cefc0a5ec753fc35f3eb770f57e29b5fb1f78f5def935fe3fec1f33ff8feb1ff021cf8bc4fccf5f8f6ab49e2dc96389e69c7b7cec7cec3c0f21aeaf5656095aa0322aa0e1ad8373232326a40c4c03f5a5f42fdf3a32bf6addcbf6fe5c8c8aad19103a3232bfed1cf8ffd955afe9afffffe85f90f2ea1fa5f8ab461bf5ccf12733d815f2fecf7df7cbdf07f4fab5cf3f2bfa755fe8b4fab648f995e607d8cfd5bde51a3270c1d34b5feb8813c3730a0d5c41123860e1a3a705cf09afc7b47e071ef97e81af7331c0de789f9fcef70341c1634bf823da13ca24d15f4331360fa11c1477e6171c612fc73e3ce83a4f17cdfb596bbc4713efede7d13fdce74d3c5735bec34639f440bf6c68e23559c8f5983a69b104742591266faf13e565983ae678933cee0f95d274486d8e9c5aeb3f13d9313f799c7e0bf4a0af6250abd2f322cce25be67da622fb1cb4c96a0afc5cecfff0f02a8a7e6659c0a00>, "metadataHash": Fr<0x1eef7f2eaafa09e24b0475a918bd7388c4dec305145849f5f84d1b822202b944>, "selector": Selector<0xd9e0e7f1>, - "vkHash": Fr<0x0000000000000000000000000000000000000000000000000000000000000000>, + "vkHash": Fr<0x1dec445c8fa1078b7dce9b3ccf5de0be2245124caabca925bb78b32f1937accf>, }, "privateFunctionTreeLeafIndex": 5, "privateFunctionTreeSiblingPath": [ - Fr<0x00a5215d923c08e46ef8298acff37a856da61be92fe1536dd7b4e10cfec9590c>, + Fr<0x124ac28b575def2e243406b17fa9f0925bf1118986880d83a9b745459bc8f3a1>, Fr<0x233d10e0c959338e062b1c76fb81e17fcf61643da568eac372bb7feac8bfa357>, - Fr<0x17720805123feb41cde00457a83a9919a315c55d6117267f05edefe119df9a7a>, + Fr<0x0861b8c908d4acade859229678fac5c86ce12b5fa26c04ceef065df68e74b118>, Fr<0x1a0ca5eecb1430479902264f04e557160a4666fb42bb8b283c6397e3d17ac937>, Fr<0x2a6595890719fef7967c209488728aa5342438ba52058a3c770202f55acf6854>, ], - "unconstrainedFunctionsArtifactTreeRoot": Fr<0x049fe6a55fa21b718224c0f6e69887dd82e302b6b658c9db0a389672582a343d>, + "unconstrainedFunctionsArtifactTreeRoot": Fr<0x01bb3b34c9349b23ac39d039e544844c573e5610c8888080c4c4e906254d8c7a>, } `; diff --git a/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/unconstrained_function_broadcasted_event.test.ts.snap b/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/unconstrained_function_broadcasted_event.test.ts.snap index 5f68110cc2fa..21734ca0b466 100644 --- a/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/unconstrained_function_broadcasted_event.test.ts.snap +++ b/yarn-project/protocol-contracts/src/class-registerer/__snapshots__/unconstrained_function_broadcasted_event.test.ts.snap @@ -4,19 +4,19 @@ exports[`UnconstrainedFunctionBroadcastedEvent parses an event as emitted by the UnconstrainedFunctionBroadcastedEvent { "artifactFunctionTreeLeafIndex": 1, "artifactFunctionTreeSiblingPath": [ - Fr<0x24eb989517d084b2d95f40b9837d5e6d8468dd84e20d6ad727a7617a5eb395e1>, - Fr<0x0000000000000000000000000000000000000000000000000000000000000000>, + Fr<0x09fdbed4bd565f3b26f4e878699a7d7c01656991c2301b73a5d853c614ca44a8>, + Fr<0x2a4bf9232d7673acf981fd8244941e3acdc98933db06afcccea33872aaad7ebd>, Fr<0x0000000000000000000000000000000000000000000000000000000000000000>, Fr<0x0000000000000000000000000000000000000000000000000000000000000000>, Fr<0x0000000000000000000000000000000000000000000000000000000000000000>, ], - "artifactMetadataHash": Fr<0x16ad977a85a570bedc6785d159f137035d3bf9891042ee3af20488686aec168b>, - "contractClassId": Fr<0x23ced3716a04d81b58822bc3e1843626aa2884888b1a2d2250e79fb7d41a365e>, - "privateFunctionsArtifactTreeRoot": Fr<0x0624b9dd486acffb15815318ac8eb07814d48ffeca47da1f4de4a733b723a1e4>, + "artifactMetadataHash": Fr<0x3049fd9d18d6a3e6f07206670af0861939fb59708f11c4bddd4019aad0b7f2ea>, + "contractClassId": Fr<0x270cb4f1fb717d14d3eb66bb6e6072c708e46d19d9d7ad2aad0756ee67f10150>, + "privateFunctionsArtifactTreeRoot": Fr<0x2caaad89f1bc2bb35d0fe39aede0ffae1f0f38fb3a97b0d79837c0afbfed1f42>, "unconstrainedFunction": BroadcastedUnconstrainedFunction { - "bytecode": Buffer<0x1f8b08000000000000ffed5dcd8f64c951cfeafae8aeeae9e99ae99e5defee98a99d9df12e60e07dd597b93402db3266910009c18d5755afec01b36dc6bdacd707d408092410321c015f913880f803cc85131790b9db075bf2d196ff005b96ebedbea8faf5afe2bd7aaf2ab3a76777539aa9ea179111911191919991f9b26ae6fd72b8f857cbbe37b3cf96592f8273967d7abb15df222dcfa59cb5e744cebde744cefa732267c3a29ca96c7573b5d896b7e940afb6656c3d0732ee5bb6bbc8d8c8be1f2cfeb517ff3ae6fdd8bb06c486ed658e93c25303a70adc079c3ca21f23e5a4e55ff656df5fca3e7fede9d3f8ddde93b766c9577be76f5ff4cee7bdc9f9db6fcdbe8215ff1d2adecf3ee38b8be44fbf7cd1bb38efc5b359ef9d27175fec9dff79f274fea5f377b0ee37b765fabf3b30fdf6b64c7fb003d31f6fcbf4567d7ba6afd4b764fac91d9886db32fdd4b6153fbd83b4bf05756f679fbf77114fff6451f3bc374b922f23f6bbdb8af8d73b88f8b7db32fda71d987e6b5ba6dfdd81e91f34b664fa47db56fce2b615df69546be632d67e2dabd8cefe96b82071fe2cfbdbdbadf86da06b9bfec88be66d73b558963f6c6734f7ddd01f09fd0337f43d91fbd72f57f4b12dc257bacb672f57bafc2cd449ff1dc17743740506e38bf90d82e1e4f2d304033f369f2158d3accb247a6b415b2cfa956bbb84d2369c27895e8577db0defa846fc8c59e91f61c2bf639cf601bf46fc441ed68ff8d651f659bf5cc9d32258e372bd1d026b024cec9b7ebe0a78ec5bfb80f74978ce3edf30eb7d44e062d73ad4b7e8b393b6b9da976cfb8da677b64903607582a1de714d207a3f59fcfbfce54a8fa2b3b4ec5f3a69d372f17390d16f026fe189b2ef113e7ec75825cf7ed1ac60efb507ea099f3a3c139ec7d9df2d80b52f37d36a28b4ba0a7e8b68ed2bb4f099b43bed130fb3efe91a2eb5dfe7324373cc4ccb59f6e96d59c259321c0583b1c82afed034ebbe2e7cb57e603341e67acc16fa1d8b7a94d2243dfe03d83522fde158602f71178ddbe66aecb04b7fd0d7e2ac3dfac3a1d06fba913fd1e63616f51f69f30b8bfa59daf7d009fd60d93f6eb9d1ff721c3d02fa16e3872ff30b59e80b0f63567def189edb8b2d7ebfecdc4ff87748565773bf639287f583f38c14d6556415dddd01983dbfe8f7bb0a6fe485306c4757698746ab6991d6ad1b2097d8e32ed4b7d84fe79aac772db6bb6e91964ddb1ede50b9b6d5bdf8c909d4b7381e459aac2716dbbd6791964ddbda6c637b4b5a62db53a86fd1b69e26eba9c576df54dbd62cd26a11ad63a22363bee02cd7f384ff97d9e791c25fe4157fb807cf2dce6f0635e2678c3ebfb947b2a23c22774781edb2811dc7e130f2a32499fb9e1ff8c31ad11759f919fbe00b0abe3657125dbf689ce85acd07bd007a7d4f3e80dd235813602223e683da44d3b6fc65f48ffcbb0a0c7300556c79d75cf535d41bf66f63d6fb8ea3bd9ad26b03e1df31ebb1c8c5da60cfacebb4a6e894f719b06e578175e03bc2904f5de1f33cd2e2fd06d4611affff7eef2ade21d0afe57c8a3cfc8ced714ba1a5adb19fc51e87f0ef90acae7cf988e461fdb0ee6e2bb2761518fbcc6d858f36465c172d81e11c48da7d6cd67d81d7af9ade8e0a64c0fa82e7d8e7fcb6d27e177b86381797f127edc3ff4a3a937959137486756f031cf17fa5bea2f96fd9b363c2415b1e9b75dbf29cf29074c23186edd72ae08330f69396c2a755c0e75609990dd03a5668d5cc7a3fe636a2adcab4e35645dedafc5feb039aad96fb43c6690c0c44d63b15db7657c1c7bc1bc7112d27a1e5a22cce25977df3c4ac1781e1ba146dcfa5417fa3dca90ffd767d4597f19827f6d75382a10e658eaaadd76de69f79bd65149971be8f7eca45d393c85d554fe8173c17c73c8aac531caf4d8647c4cf2832e3f959f4792e9a9e44eeaa7a42bff818c1705d24a7d8da8aac16f5343e227e4691f965e08d73632e9a9e44eeaa7a42bf789960b81e7f25fbce7a4acb59f6197a51304806519c24a1978cc7a3a91f4e47d32499cee2301e0e47de703649e2593f984c837938997b499c8cfafe249a0c7d6fba9c97bca4d0f6223f08423f1a4e06236fd4f766d351908ce27e3f1ef78359349b075ed01fcc13af3f0e67e368bc781cf9d3d8f3e65e3c99fbcbbdd69715da7e309ecc67fe2cee2f04f106c16c30e94751324cc2c164ec0dc341d8f7e683f9245e644382d17441771878e371df1bcffb43cf5fee83bea2c91d8f16d8c9c09b798bffe6fdd9c88bfad178168de60b7545336fe047de643c4a66437f188f27fd3088e78370a18d7eb8d8a25ceae4be463b994dfc241887d3709a8cfdc97cea45c9e26b1c2ff4134c170a98c7e399374ee54d26911726f3893f9dc7c1741286fde15c687f5cd3891ffafd41ec0d46f381177a411844de743c9844a99686d160b0306538190d7d7fda0f160ca251e007b1df9f4cbd304ae281f8d0cf01ed1af9d003786e71fc9ed5889f31fa9a4af8774856dbf3ed1af11379583fbca6ea29b2761518c62c84219f9ec247a3f5718bb41a5bd212ff78156067d967300afad3e1783a1dc4fde964b2c8510e67837834f72783d80f26e1c209e3301c45911727f385d387e345071b4d47e345e858748fb126e7ab16dbfcb2455adbea4fa3757f4b5a628b87003bcb3efd30f26783617f1e2f2244324dc245d05844f7701a87d1229e86137f3c1924e3e120f0a2c170f16c91541e05d1345a586c96847d4dce8716db6c537f2f59a4f58a455ad246891918636ad9673ba7de59f6b7b75b19978db7c2bf639cc67fbf48af0f14bd8aee5e5364ed2a305cab200cf9bca6f0d168ddb148ebae455a2716699d5aa475cf22ad172cd292b9328fdd024f4b5ba9f72c72c9c2bf639cc605bf48afdabc47f4f3c88d3c5391e7b122cf8302793ee1469e91c8f3ba224f4f91e78ed17d08f5f518bea3dcc283cf0add29c95bf037e5b8387788b192735cc8fb2cfbf4aa95901fb8cd7704218f15580486f640dd70d994eff8c69679a14704c358fe9860189b3f41308cb5e23fc7665dbf3cee68fbfef88ce368514e0bebd5723e850f3f633e9accc78a0c3cf6693e7fb780cf89c2e748a9b76b7b3499b5fceeae7cb03d9c9b3db5c8077d91f3bc98873dcb3ebddd4ae8f6dc49f558c1be8fb19cfd08633bdbfe7580b1bdde50745c3636e1d9976f56884d79fb80bf595b3d47fa79fb80b7008ef8c7b00ff86646d36d8ee966d9b6acfd4417a90df61a2bba8cc7edc0fe216dba69faad3acea22e9ef5388be3128fb3a85f1e67b57ca2368fd5c68b0724839637d8368e6b327f34ce6ee6f32cc659f13d9e37a7e52cfbf4762b91dbfc53f558c1beef7a9cc5fecd458b4dbdecbbad71f692c6d95e062b3bce0afe8ff65634ff8ac65937398d2062fb19a5dd683fb62dda8f6d8bf663dba2fdaa8eb3a28baae36c0f60d226b181bcfff28f59c5d4065faf5dad8f3694f36c29de5f6476737b66a27a3fac7ab6c4c699893263f64d9bdb543d5b82739b2a7a427bb09ed067584f6ef275419ffbb75164c6fe5df56c89c85d554fe8173c97c33828f1a56dd6e394453d0d5817469119635dd5b3252277553d75155d68fefd06c1ea0a5db73a2cbf8725fc3b665d972e72e75aae5a3b53aff507a9db35f96361cdacfb4e4379b65740ebc422ad96455aa716693db048eb358bb4ba166971cc47dfe37ee8684fa4f41e96f0ef18a771c12fd26bd11ed6eb6ee459ee61bda1c8532f90e7e7ddc8b3dcc3fa05459ec78a3cb887a5ed4f61db586ee1c17b588d92bc05bfa5e0a38ff11e16f293badabbe016c7f4e5dd1baf9af522b087c0bb6afe4be4ae9aff423d3d2418c6eed70886718ae30c8e4562b763a3eb57be234cdac8cf38d661fdebcae334a83d589fc73acd8f1b057c5a0a9f23a5deaeedd164669bdbe083ede9129fae453ed7ffde45f5feccfec9f91584696b6a2d37c23ac5f85b752f08dff3a892a3c27b3c3047f5e3daea39d2c71c15d6e51c95e07f0b72543fcd686af7607d506d5bd67ecbfbff4cb51c158e85d2a69bd677aa8e85e8cbb6c642f4351e0b8bf22c68471e0b59bff21d61d2467e5614d3af6befa4682ce4fb7daa8e854d858febb1b0497c9a16f9607bae7bcc6d9b755f7c96fd99fdb36cbc64fb60bc649de2585875bf46f454752cc475098e85dedeea39d2c7b110ebf25828f8ff096361487b006ef25637cbb665ed27baa83a16a20d38fe17e530b15f5a5c8b97be17459e5d570e538be55aae22f563396bf285e4e2f3c9bbbf1f7fe9c92cbe7872fed6ef267ff676f2950b6c0692d69ac9e66f103bc1e32b443a0a9e211c0ef745cd127c2ded80615eae39285a2a6a57963e4f532d91bbea544b9b76ee3ad5c2eb4378aa85fae5749376dd42d1151158ff9064b0717d4db740662d85c553adaad7f634153e45616fdbf668327f50a65ae27beeaed00efb6eaf79a91e2bd8f771a8673fb2318dc3fecd458b4da2a7aad338f4079cc69dd3344e60388dc3ba3c8d13fcafc334ee294de3708cf9a0dab6acfd441755a77168031e5bf83a5163ae1ea9611ac8e3a36bf0d6fddc98edafc1e3d72e77b96eee458bb47a1669e14fc0a47f97bd060f6d2a750e01ce3f8568ccfad863d91fc2b2fe29fc3b24ab2bffec903cac1ff6cfa26be210c6f3fd5daea3133d39beaa6d79d5959662401bf1156c82ff8dac119832c452a40b4de72c0fe2df269cb4c8fc167d98d3586efce98337ffc19f982a33ffe1798dd065df39227c3c9aaae1e33c09f1ff6383af959d8f156d29baddd62f1f13857f8764751513b5ad74ed5a6eed38a8d4d55e2fa8d1f75385cfa9c247a3257dc4ed31e6554c942dd1bcb4eb29c011ffbf4ac6444d179ace591ec4e7ebead3a21d9de0d7293faca97dd409171ba9fda2f10bedc93151e46ae5e0e3f88cf8ff5732266ab470aba168ebcf717f2b1d13857f8764751513b5fea96da98aeeee29b26a57b197e9d7da55ec1a2d8e896e7eae601513e5aab1bc6319183311ff3b2563a2a60b4de72c0fe2f3cf20a44562a2762de487fde84fd5d79baa1efda999753b6abec33151e46ae5e0e31121c4ff61c998a8d1c2a34882d73357db9216c757f9948e8937e12a9f1e3ce398f84891b5abc06af4fd91c2e791c247a3c557df3e72a393654cc457f54456cc1b3e0238e2ffa4644cd474d15374c1f2203eea40649398883eccaf76f500663126dea8d73a058647cd51275cb498d8cbbe578d893da2cbbec33151e46ae5e00bbd26e11f65326d8a891a2d7c8558f05ea4b618e3fc5ad7d23191af757573bd4bf1b5aea81f8e893d4556ed6a47eed73d854f4fe1a3d1e29f9eecb9d149c07e9a17137b0047fcfb1bfcb448179ace591ec4ef010ec744f461a9fb61bf2e0875c2458b8955af0baa99753b96898922575e4cc46b8510ff97b688892f022fb9bea8e82747f8aa3b173111ed9dd7dfee900e043f2ad9dfb46b02b59f2b6179101f75c0fdedfa5fc958e9ee0474a3e98ed71982ffab25fc272df8b3731887dfd3cda593b645699fbb0f7be06cc326f0dd64afb4b07db57c31da49daa7bd12c5afac6a3fa95cd4df317fa5e1e3cf0921fe6736d84b3b47253a382ae0833f69e4d2aec391e749bc149f129fe5d20038e2bfb9410769db53dff95c7dd59e94a79323a2bee7151dd177fdda4e8df819a3cf27857f8764b5dc6797f349ed5c29ea47fa62ea9b2766d52f8c622ba1d593ca360feab1818c3d6578650e01ba3a9ce7e2b0a1e86a1f6067d9a7b75bf1b5838cfb397c6d3baddb4df6d57dbe6ddb7af357b4dd1c80f1bd4def797ca1be7a8eb0bc0dc70ec011ff6db8fff28fb3efc74afda243c17cc0bc515ddffe268d082ff1d33db31e50392ef1c080ede17ed924fdd4143a7c9fd6d3928b809a2283665f913f1d4845cf070adced6fd8059ec87c04edd67c8a0f9d0afed74a2e0cb4dfffd3062b9607f15107bc898d93b1e5845aa98707e9b5baec2b47205f112dedef03854ed1617fcd0ff8dd7feda502adefb3def3368c855e93f0ff66835dddfef6e8ca2ff14059c3e4dbba49f87f57d22f353f2bf24bed801aea806d89fe2275eb4a3bb07f687537f9651eadaa7e59f43ba50705f21c923c88cb8bbca6528fc7b6b468feca075da57e9e7ff32131c1ffe792f17cd3988c8b20ae23f5d2e2f67dcaf287bc857f47699f8b458a76c819f5c363a436c65fc7fa01f9eefa8ef9f3404b7ce219be875afa0e2f7976d3de43e5f525d62d5a2fd608867cb464e975d1d2ec9dfe3bcbfef6762ced1c7dd9a2afcdc1f35e3c44393899756cf2edaaad936dea88c7c18659b731f2e735de7f6f18d7b4b6d50bdae622918e6d6b14b4cdb1bff8acbbefc3faf87fc817b4176cb47911af4bda8a9eb597111a04d35ed2753be75ed967db39f7ff6fb1d181b64e4be3d249dbd48d0e9c2737812fb6d198f5f5675ab65d17682ff1340986f1eb16c1b4f968d10b62dad82f7e77acf0633fd4721635921bdb8cf8bc76155be7cdd5392f23f8df2bb921a3e5808be63ea91cb50ce038f68db417eca414bd44aa5d42c0f30f2d56b08fb30eb8f0e610ea2295d987bec37852ae3b56babde4e2fdf9445a3e8a57373f5e69345b0534b51890370f6c2afcb4b949faef2cfbdbdbb170ccc479a0761105c7cc834cd04df93b379ba6de40db7b9352f4d232c7492dde6971428b9355e31dde755825ded51479347f14bcb652cfa2eff845feaec9cc7b8f8e72424b9fd6d6d7a8578e55451bddda3852b417acd94af660d2d2ba5cf1c2b89f96fdcb950c0d055fe468127e2f434efbc243f2aba6c2efbd17ae0af06a399f22dbdab3acaef49bf6e50ac7b67dd3d2b95ce9a1413c519e3dc2c7ef683b79f6cb8d152c2d874833fbacc333e129b63d00d8e1e5665a4d855657c13f205a6d85163e9376a7767e9c217488a765dbf8e8537987771cadb343c7736bcff1d9025f7b1108d73243f04b84e5bdfc963766bf0971e253d9f7a231a6687ea2e579f2ce98d89ebb6a6b1d1efbda6e7897de0711fed77599489be4e1b911dbc6d1652b91c8a3ed236b176ddcc9feb1cd50be43a023cfc4b7343f445db31ecae4aeb5fdf1aaeb8d1ac1b47d163c9b817d85e9885ef2fa3be76a05ff77a0bf5f507f477e2e728aec6f8e728a4b7fbbbd41477939c53fdcb08ea9517d63d67396c6545ffff20bc1da3ebea6578e738e2ee459e66af110b3a657be9047f0e3927ad5f454a457ed90b6963b10dda1ce8f893f9f5b401b48bd9beebf4f36e8f919e698facf3ac7c47924f413ce3f6967d1b6cd2361bc1559f71559d1be3c66b581569598ffd512fe90470be79a3f03c748153949c40000>, - "metadataHash": Fr<0x1a8b89c75f0ad79c19ba53a8bdfcb25bd4f8d33bfa11f1f52528a8ee58fc2543>, - "selector": Selector<0xd9183919>, + "bytecode": Buffer<0x1f8b08000000000000ffb593cb0ec2201045a9c528d2c4c4c77f4c534cbb74e1da7f20ad2c755137eefae9d664264c88d1057013324c80c35c1e85f02a304a1121821c312a8c0b365eceed8c39c4a956c1be29f91d18a3bef84b587fa39059e4e103f1339d3fac9073993c9f7ba17dd773d3ac5f09ff3e72f9a7fbcbe97fffc3b346af5bcc2be1ffc3f8baf7d7c7f3368a3fd26c919cd29b683b002abe44fe12f9a1241be7f30f986f84af8fa28ca8d3b5b6768d75f66487c1f47617f03fe287fd06f3a87a78ce040000>, + "metadataHash": Fr<0x1eef7f2eaafa09e24b0475a918bd7388c4dec305145849f5f84d1b822202b944>, + "selector": Selector<0x83abd7ca>, }, } `; diff --git a/yarn-project/protocol-contracts/src/class-registerer/contract_class_registered_event.test.ts b/yarn-project/protocol-contracts/src/class-registerer/contract_class_registered_event.test.ts index 9de837e51b58..a199a825725b 100644 --- a/yarn-project/protocol-contracts/src/class-registerer/contract_class_registered_event.test.ts +++ b/yarn-project/protocol-contracts/src/class-registerer/contract_class_registered_event.test.ts @@ -1,22 +1,16 @@ -import { computePublicBytecodeCommitment } from '@aztec/circuits.js'; +import { ContractClassLog } from '@aztec/circuits.js'; +import { setupCustomSnapshotSerializers } from '@aztec/foundation/testing'; import { getSampleContractClassRegisteredEventPayload } from '../tests/fixtures.js'; import { ContractClassRegisteredEvent } from './contract_class_registered_event.js'; describe('ContractClassRegisteredEvent', () => { - it('parses an event as emitted by the ContractClassRegisterer', async () => { - const log = getSampleContractClassRegisteredEventPayload(); + beforeAll(() => setupCustomSnapshotSerializers(expect)); + it('parses an event as emitted by the ContractClassRegisterer', () => { + const log = ContractClassLog.fromBuffer(getSampleContractClassRegisteredEventPayload()); expect(ContractClassRegisteredEvent.isContractClassRegisteredEvent(log)).toBe(true); const event = ContractClassRegisteredEvent.fromLog(log); - expect(event.contractClassId.toString()).toEqual( - '0x1c9a43d08a1af21c35e4201262a49497a488b0686209370a70f2434af643b4f7', - ); - expect(event.artifactHash.toString()).toEqual('0x072dce903b1a299d6820eeed695480fe9ec46658b1101885816aed6dd86037f0'); - expect(event.packedPublicBytecode.length).toEqual(27090); - const publicBytecodeCommitment = await computePublicBytecodeCommitment(event.packedPublicBytecode); - expect(publicBytecodeCommitment.toString()).toEqual( - '0x1d7d509f736d09975b88d01b5779a6f52e70905ba9294776d4881e811e6c1e9f', - ); + expect(event).toMatchSnapshot(); }); }); diff --git a/yarn-project/protocol-contracts/src/class-registerer/contract_class_registered_event.ts b/yarn-project/protocol-contracts/src/class-registerer/contract_class_registered_event.ts index 9f9a9caeb17c..c2baa43d061a 100644 --- a/yarn-project/protocol-contracts/src/class-registerer/contract_class_registered_event.ts +++ b/yarn-project/protocol-contracts/src/class-registerer/contract_class_registered_event.ts @@ -1,4 +1,5 @@ import { + type ContractClassLog, type ContractClassPublic, PUBLIC_DISPATCH_SELECTOR, type PublicFunction, @@ -7,9 +8,7 @@ import { } from '@aztec/circuits.js'; import { FunctionSelector, bufferFromFields } from '@aztec/foundation/abi'; import { Fr } from '@aztec/foundation/fields'; -import { BufferReader } from '@aztec/foundation/serialize'; - -import chunk from 'lodash.chunk'; +import { FieldReader } from '@aztec/foundation/serialize'; import { REGISTERER_CONTRACT_CLASS_REGISTERED_TAG } from '../protocol_contract_data.js'; @@ -23,19 +22,17 @@ export class ContractClassRegisteredEvent { public readonly packedPublicBytecode: Buffer, ) {} - static isContractClassRegisteredEvent(log: Buffer) { - return log.subarray(0, 32).equals(REGISTERER_CONTRACT_CLASS_REGISTERED_TAG.toBuffer()); + static isContractClassRegisteredEvent(log: ContractClassLog) { + return log.fields[0].equals(REGISTERER_CONTRACT_CLASS_REGISTERED_TAG); } - static fromLog(log: Buffer) { - const reader = new BufferReader(log.subarray(32)); - const contractClassId = reader.readObject(Fr); - const version = reader.readObject(Fr).toNumber(); - const artifactHash = reader.readObject(Fr); - const privateFunctionsRoot = reader.readObject(Fr); - const packedPublicBytecode = bufferFromFields( - chunk(reader.readToEnd(), Fr.SIZE_IN_BYTES).map(Buffer.from).map(Fr.fromBuffer), - ); + static fromLog(log: ContractClassLog) { + const reader = new FieldReader(log.fields.slice(1)); + const contractClassId = reader.readField(); + const version = reader.readField().toNumber(); + const artifactHash = reader.readField(); + const privateFunctionsRoot = reader.readField(); + const packedPublicBytecode = bufferFromFields(reader.readFieldArray(log.fields.slice(1).length - reader.cursor)); return new ContractClassRegisteredEvent( contractClassId, diff --git a/yarn-project/protocol-contracts/src/class-registerer/private_function_broadcasted_event.test.ts b/yarn-project/protocol-contracts/src/class-registerer/private_function_broadcasted_event.test.ts index 9dd2cdd9a8f3..3b51c36db20c 100644 --- a/yarn-project/protocol-contracts/src/class-registerer/private_function_broadcasted_event.test.ts +++ b/yarn-project/protocol-contracts/src/class-registerer/private_function_broadcasted_event.test.ts @@ -1,3 +1,4 @@ +import { ContractClassLog } from '@aztec/circuits.js'; import { setupCustomSnapshotSerializers } from '@aztec/foundation/testing'; import { getSamplePrivateFunctionBroadcastedEventPayload } from '../tests/fixtures.js'; @@ -7,7 +8,7 @@ describe('PrivateFunctionBroadcastedEvent', () => { beforeAll(() => setupCustomSnapshotSerializers(expect)); it('parses an event as emitted by the ContractClassRegisterer', () => { - const log = getSamplePrivateFunctionBroadcastedEventPayload(); + const log = ContractClassLog.fromBuffer(getSamplePrivateFunctionBroadcastedEventPayload()); expect(PrivateFunctionBroadcastedEvent.isPrivateFunctionBroadcastedEvent(log)).toBe(true); const event = PrivateFunctionBroadcastedEvent.fromLog(log); diff --git a/yarn-project/protocol-contracts/src/class-registerer/private_function_broadcasted_event.ts b/yarn-project/protocol-contracts/src/class-registerer/private_function_broadcasted_event.ts index 8a30be9c346b..c08985fd65fc 100644 --- a/yarn-project/protocol-contracts/src/class-registerer/private_function_broadcasted_event.ts +++ b/yarn-project/protocol-contracts/src/class-registerer/private_function_broadcasted_event.ts @@ -1,16 +1,14 @@ import { ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, + type ContractClassLog, type ExecutablePrivateFunctionWithMembershipProof, FUNCTION_TREE_HEIGHT, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS, type PrivateFunction, - REGISTERER_PRIVATE_FUNCTION_BROADCASTED_ADDITIONAL_FIELDS, } from '@aztec/circuits.js'; import { FunctionSelector, bufferFromFields } from '@aztec/foundation/abi'; -import { Fr } from '@aztec/foundation/fields'; -import { BufferReader, type Tuple } from '@aztec/foundation/serialize'; - -import chunk from 'lodash.chunk'; +import { type Fr } from '@aztec/foundation/fields'; +import { FieldReader, type Tuple } from '@aztec/foundation/serialize'; import { REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG } from '../protocol_contract_data.js'; @@ -27,42 +25,33 @@ export class PrivateFunctionBroadcastedEvent { public readonly privateFunction: BroadcastedPrivateFunction, ) {} - static isPrivateFunctionBroadcastedEvent(log: Buffer) { - return log.subarray(0, 32).equals(REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG.toBuffer()); + static isPrivateFunctionBroadcastedEvent(log: ContractClassLog) { + return log.fields[0].equals(REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG); } - static fromLog(log: Buffer) { - const expectedLength = - 32 * - (MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS + - REGISTERER_PRIVATE_FUNCTION_BROADCASTED_ADDITIONAL_FIELDS); - if (log.length !== expectedLength) { - throw new Error( - `Unexpected PrivateFunctionBroadcastedEvent log length: got ${log.length} but expected ${expectedLength}`, - ); - } - - const reader = new BufferReader(log.subarray(32)); - const event = PrivateFunctionBroadcastedEvent.fromBuffer(reader); - if (!reader.isEmpty()) { - throw new Error( - `Unexpected data after parsing PrivateFunctionBroadcastedEvent: ${reader.readToEnd().toString('hex')}`, - ); + static fromLog(log: ContractClassLog) { + const reader = new FieldReader(log.fields.slice(1)); + const event = PrivateFunctionBroadcastedEvent.fromFields(reader); + while (!reader.isFinished()) { + const field = reader.readField(); + if (!field.isZero()) { + throw new Error(`Unexpected data after parsing PrivateFunctionBroadcastedEvent: ${field.toString()}`); + } } return event; } - static fromBuffer(buffer: Buffer | BufferReader) { - const reader = BufferReader.asReader(buffer); - const contractClassId = reader.readObject(Fr); - const artifactMetadataHash = reader.readObject(Fr); - const unconstrainedFunctionsArtifactTreeRoot = reader.readObject(Fr); - const privateFunctionTreeSiblingPath = reader.readArray(FUNCTION_TREE_HEIGHT, Fr); - const privateFunctionTreeLeafIndex = reader.readObject(Fr).toNumber(); - const artifactFunctionTreeSiblingPath = reader.readArray(ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, Fr); - const artifactFunctionTreeLeafIndex = reader.readObject(Fr).toNumber(); - const privateFunction = BroadcastedPrivateFunction.fromBuffer(reader); + static fromFields(fields: Fr[] | FieldReader) { + const reader = FieldReader.asReader(fields); + const contractClassId = reader.readField(); + const artifactMetadataHash = reader.readField(); + const unconstrainedFunctionsArtifactTreeRoot = reader.readField(); + const privateFunctionTreeSiblingPath = reader.readFieldArray(FUNCTION_TREE_HEIGHT); + const privateFunctionTreeLeafIndex = reader.readField().toNumber(); + const artifactFunctionTreeSiblingPath = reader.readFieldArray(ARTIFACT_FUNCTION_TREE_MAX_HEIGHT); + const artifactFunctionTreeLeafIndex = reader.readField().toNumber(); + const privateFunction = BroadcastedPrivateFunction.fromFields(reader); return new PrivateFunctionBroadcastedEvent( contractClassId, @@ -103,13 +92,14 @@ export class BroadcastedPrivateFunction implements PrivateFunction { public readonly bytecode: Buffer, ) {} - static fromBuffer(buffer: Buffer | BufferReader) { - const reader = BufferReader.asReader(buffer); - const selector = FunctionSelector.fromField(reader.readObject(Fr)); - const metadataHash = reader.readObject(Fr); - const vkHash = reader.readObject(Fr); - const encodedBytecode = reader.readBytes(MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS * 32); - const bytecode = bufferFromFields(chunk(encodedBytecode, Fr.SIZE_IN_BYTES).map(Buffer.from).map(Fr.fromBuffer)); + static fromFields(fields: Fr[] | FieldReader) { + const reader = FieldReader.asReader(fields); + const selector = FunctionSelector.fromField(reader.readField()); + const metadataHash = reader.readField(); + const vkHash = reader.readField(); + // The '* 1' removes the 'Type instantiation is excessively deep and possibly infinite. ts(2589)' err + const encodedBytecode = reader.readFieldArray(MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS * 1); + const bytecode = bufferFromFields(encodedBytecode); return new BroadcastedPrivateFunction(selector, metadataHash, vkHash, bytecode); } } diff --git a/yarn-project/protocol-contracts/src/class-registerer/unconstrained_function_broadcasted_event.test.ts b/yarn-project/protocol-contracts/src/class-registerer/unconstrained_function_broadcasted_event.test.ts index db3ae210eabe..0f1ea24e5e0b 100644 --- a/yarn-project/protocol-contracts/src/class-registerer/unconstrained_function_broadcasted_event.test.ts +++ b/yarn-project/protocol-contracts/src/class-registerer/unconstrained_function_broadcasted_event.test.ts @@ -1,3 +1,4 @@ +import { ContractClassLog } from '@aztec/circuits.js'; import { FunctionSelector } from '@aztec/foundation/abi'; import { randomBytes } from '@aztec/foundation/crypto'; import { Fr } from '@aztec/foundation/fields'; @@ -14,7 +15,7 @@ describe('UnconstrainedFunctionBroadcastedEvent', () => { beforeAll(() => setupCustomSnapshotSerializers(expect)); it('parses an event as emitted by the ContractClassRegisterer', () => { - const log = getSampleUnconstrainedFunctionBroadcastedEventPayload(); + const log = ContractClassLog.fromBuffer(getSampleUnconstrainedFunctionBroadcastedEventPayload()); expect(UnconstrainedFunctionBroadcastedEvent.isUnconstrainedFunctionBroadcastedEvent(log)).toBe(true); const event = UnconstrainedFunctionBroadcastedEvent.fromLog(log); diff --git a/yarn-project/protocol-contracts/src/class-registerer/unconstrained_function_broadcasted_event.ts b/yarn-project/protocol-contracts/src/class-registerer/unconstrained_function_broadcasted_event.ts index 0bc22385f077..29bf30a77c72 100644 --- a/yarn-project/protocol-contracts/src/class-registerer/unconstrained_function_broadcasted_event.ts +++ b/yarn-project/protocol-contracts/src/class-registerer/unconstrained_function_broadcasted_event.ts @@ -1,16 +1,14 @@ import { ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, + type ContractClassLog, MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS, - REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_ADDITIONAL_FIELDS, type UnconstrainedFunction, type UnconstrainedFunctionWithMembershipProof, } from '@aztec/circuits.js'; import { FunctionSelector, bufferFromFields } from '@aztec/foundation/abi'; import { removeArrayPaddingEnd } from '@aztec/foundation/collection'; import { Fr } from '@aztec/foundation/fields'; -import { BufferReader, type Tuple } from '@aztec/foundation/serialize'; - -import chunk from 'lodash.chunk'; +import { FieldReader, type Tuple } from '@aztec/foundation/serialize'; import { REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG } from '../protocol_contract_data.js'; @@ -25,40 +23,31 @@ export class UnconstrainedFunctionBroadcastedEvent { public readonly unconstrainedFunction: BroadcastedUnconstrainedFunction, ) {} - static isUnconstrainedFunctionBroadcastedEvent(log: Buffer) { - return log.subarray(0, 32).equals(REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG.toBuffer()); + static isUnconstrainedFunctionBroadcastedEvent(log: ContractClassLog) { + return log.fields[0].equals(REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG); } - static fromLog(log: Buffer) { - const expectedLength = - 32 * - (MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS + - REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_ADDITIONAL_FIELDS); - if (log.length !== expectedLength) { - throw new Error( - `Unexpected UnconstrainedFunctionBroadcastedEvent log length: got ${log.length} but expected ${expectedLength}`, - ); - } - - const reader = new BufferReader(log.subarray(32)); - const event = UnconstrainedFunctionBroadcastedEvent.fromBuffer(reader); - if (!reader.isEmpty()) { - throw new Error( - `Unexpected data after parsing UnconstrainedFunctionBroadcastedEvent: ${reader.readToEnd().toString('hex')}`, - ); + static fromLog(log: ContractClassLog) { + const reader = new FieldReader(log.fields.slice(1)); + const event = UnconstrainedFunctionBroadcastedEvent.fromFields(reader); + while (!reader.isFinished()) { + const field = reader.readField(); + if (!field.isZero()) { + throw new Error(`Unexpected data after parsing UnconstrainedFunctionBroadcastedEvent: ${field.toString()}`); + } } return event; } - static fromBuffer(buffer: Buffer | BufferReader) { - const reader = BufferReader.asReader(buffer); - const contractClassId = reader.readObject(Fr); - const artifactMetadataHash = reader.readObject(Fr); - const privateFunctionsArtifactTreeRoot = reader.readObject(Fr); - const artifactFunctionTreeSiblingPath = reader.readArray(ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, Fr); - const artifactFunctionTreeLeafIndex = reader.readObject(Fr).toNumber(); - const unconstrainedFunction = BroadcastedUnconstrainedFunction.fromBuffer(reader); + static fromFields(fields: Fr[] | FieldReader) { + const reader = FieldReader.asReader(fields); + const contractClassId = reader.readField(); + const artifactMetadataHash = reader.readField(); + const privateFunctionsArtifactTreeRoot = reader.readField(); + const artifactFunctionTreeSiblingPath = reader.readFieldArray(ARTIFACT_FUNCTION_TREE_MAX_HEIGHT); + const artifactFunctionTreeLeafIndex = reader.readField().toNumber(); + const unconstrainedFunction = BroadcastedUnconstrainedFunction.fromFields(reader); return new UnconstrainedFunctionBroadcastedEvent( contractClassId, @@ -98,12 +87,13 @@ export class BroadcastedUnconstrainedFunction implements UnconstrainedFunction { public readonly bytecode: Buffer, ) {} - static fromBuffer(buffer: Buffer | BufferReader) { - const reader = BufferReader.asReader(buffer); - const selector = FunctionSelector.fromField(reader.readObject(Fr)); - const metadataHash = reader.readObject(Fr); - const encodedBytecode = reader.readBytes(MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS * 32); - const bytecode = bufferFromFields(chunk(encodedBytecode, Fr.SIZE_IN_BYTES).map(Buffer.from).map(Fr.fromBuffer)); + static fromFields(fields: Fr[] | FieldReader) { + const reader = FieldReader.asReader(fields); + const selector = FunctionSelector.fromField(reader.readField()); + const metadataHash = reader.readField(); + // The '* 1' removes the 'Type instantiation is excessively deep and possibly infinite. ts(2589)' err + const encodedBytecode = reader.readFieldArray(MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS * 1); + const bytecode = bufferFromFields(encodedBytecode); return new BroadcastedUnconstrainedFunction(selector, metadataHash, bytecode); } } diff --git a/yarn-project/protocol-contracts/src/scripts/generate_data.ts b/yarn-project/protocol-contracts/src/scripts/generate_data.ts index e518047ceb28..c2cb373fad4c 100644 --- a/yarn-project/protocol-contracts/src/scripts/generate_data.ts +++ b/yarn-project/protocol-contracts/src/scripts/generate_data.ts @@ -131,10 +131,20 @@ async function generateRoot(names: string[], leaves: Fr[]) { } async function generateLogTags() { + // See silo_contract_class_log for all registerer tags return ` - export const REGISTERER_CONTRACT_CLASS_REGISTERED_TAG = new Fr(${REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE}n); - export const REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG = new Fr(${REGISTERER_PRIVATE_FUNCTION_BROADCASTED_MAGIC_VALUE}n); - export const REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG = new Fr(${REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_MAGIC_VALUE}n); + export const REGISTERER_CONTRACT_CLASS_REGISTERED_TAG = Fr.fromHexString('${await poseidon2Hash([ + REGISTERER_CONTRACT_ADDRESS, + REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE, + ])}'); + export const REGISTERER_PRIVATE_FUNCTION_BROADCASTED_TAG = Fr.fromHexString('${await poseidon2Hash([ + REGISTERER_CONTRACT_ADDRESS, + REGISTERER_PRIVATE_FUNCTION_BROADCASTED_MAGIC_VALUE, + ])}'); + export const REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_TAG = Fr.fromHexString('${await poseidon2Hash([ + REGISTERER_CONTRACT_ADDRESS, + REGISTERER_UNCONSTRAINED_FUNCTION_BROADCASTED_MAGIC_VALUE, + ])}'); export const DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_TAG = Fr.fromHexString('${await poseidon2Hash([ DEPLOYER_CONTRACT_ADDRESS, DEPLOYER_CONTRACT_INSTANCE_DEPLOYED_MAGIC_VALUE, diff --git a/yarn-project/pxe/src/kernel_prover/kernel_prover.test.ts b/yarn-project/pxe/src/kernel_prover/kernel_prover.test.ts index 027440960c2a..c29a1aad27fb 100644 --- a/yarn-project/pxe/src/kernel_prover/kernel_prover.test.ts +++ b/yarn-project/pxe/src/kernel_prover/kernel_prover.test.ts @@ -79,7 +79,6 @@ describe('Kernel Prover', () => { (dependencies[fnName] || []).map(name => createCallExecutionResult(name)), [], PublicExecutionRequest.empty(), - [], ); }; diff --git a/yarn-project/sequencer-client/src/publisher/sequencer-publisher.test.ts b/yarn-project/sequencer-client/src/publisher/sequencer-publisher.test.ts index 9df7ebedfe4c..85e686442181 100644 --- a/yarn-project/sequencer-client/src/publisher/sequencer-publisher.test.ts +++ b/yarn-project/sequencer-client/src/publisher/sequencer-publisher.test.ts @@ -47,7 +47,6 @@ describe('SequencerPublisher', () => { let header: Buffer; let archive: Buffer; let blockHash: Buffer; - let body: Buffer; let blobSinkClient: HttpBlobSinkClient; let mockBlobSinkServer: Server | undefined = undefined; @@ -66,7 +65,6 @@ describe('SequencerPublisher', () => { header = l2Block.header.toBuffer(); archive = l2Block.archive.root.toBuffer(); blockHash = (await l2Block.header.hash()).toBuffer(); - body = l2Block.body.toBuffer(); proposeTxHash = `0x${Buffer.from('txHashPropose').toString('hex')}`; // random tx hash @@ -144,7 +142,6 @@ describe('SequencerPublisher', () => { header = l2Block.header.toBuffer(); archive = l2Block.archive.root.toBuffer(); blockHash = (await l2Block.header.hash()).toBuffer(); - body = l2Block.body.toBuffer(); }); const closeServer = (server: Server): Promise => { @@ -227,7 +224,6 @@ describe('SequencerPublisher', () => { txHashes: [], }, [], - `0x${body.toString('hex')}`, blobInput, ] as const; expect(forwarder.forward).toHaveBeenCalledWith( diff --git a/yarn-project/sequencer-client/src/publisher/sequencer-publisher.ts b/yarn-project/sequencer-client/src/publisher/sequencer-publisher.ts index 94e1fc07ef15..4f480a826a28 100644 --- a/yarn-project/sequencer-client/src/publisher/sequencer-publisher.ts +++ b/yarn-project/sequencer-client/src/publisher/sequencer-publisher.ts @@ -47,8 +47,6 @@ type L1ProcessArgs = { archive: Buffer; /** The L2 block's leaf in the archive tree. */ blockHash: Buffer; - /** L2 block body. TODO(#9101): Remove block body once we can extract blobs. */ - body: Buffer; /** L2 block blobs containing all tx effects. */ blobs: Blob[]; /** L2 block tx hashes */ @@ -487,8 +485,6 @@ export class SequencerPublisher { txHashes, }, attestations, - // TODO(#9101): Extract blobs from beacon chain => calldata will only contain what's needed to verify blob and body input can be removed - `0x${encodedData.body.toString('hex')}`, blobInput, ] as const; diff --git a/yarn-project/simulator/src/acvm/oracle/oracle.ts b/yarn-project/simulator/src/acvm/oracle/oracle.ts index e1cd1aed5b65..4464759882fb 100644 --- a/yarn-project/simulator/src/acvm/oracle/oracle.ts +++ b/yarn-project/simulator/src/acvm/oracle/oracle.ts @@ -1,4 +1,4 @@ -import { MerkleTreeId, UnencryptedL2Log } from '@aztec/circuit-types'; +import { MerkleTreeId } from '@aztec/circuit-types'; import { FunctionSelector, NoteSelector } from '@aztec/foundation/abi'; import { AztecAddress } from '@aztec/foundation/aztec-address'; import { Fr } from '@aztec/foundation/fields'; @@ -280,14 +280,6 @@ export class Oracle { return newValues.map(toACVMField); } - emitContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [counter]: ACVMField[]): ACVMField { - const logPayload = Buffer.concat(message.map(fromACVMField).map(f => f.toBuffer())); - const log = new UnencryptedL2Log(AztecAddress.fromString(contractAddress), logPayload); - - const logHash = this.typedOracle.emitContractClassLog(log, +counter); - return toACVMField(logHash); - } - debugLog(message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): void { const messageStr = message.map(acvmField => String.fromCharCode(fromACVMField(acvmField).toNumber())).join(''); const fieldsFr = fields.map(fromACVMField); diff --git a/yarn-project/simulator/src/acvm/oracle/typed_oracle.ts b/yarn-project/simulator/src/acvm/oracle/typed_oracle.ts index e8594211633b..9299624fa81e 100644 --- a/yarn-project/simulator/src/acvm/oracle/typed_oracle.ts +++ b/yarn-project/simulator/src/acvm/oracle/typed_oracle.ts @@ -5,7 +5,6 @@ import { type NoteStatus, type NullifierMembershipWitness, type PublicDataWitness, - type UnencryptedL2Log, } from '@aztec/circuit-types'; import { type BlockHeader, @@ -175,10 +174,6 @@ export abstract class TypedOracle { return Promise.reject(new OracleMethodNotAvailableError('storageWrite')); } - emitContractClassLog(_log: UnencryptedL2Log, _counter: number): Fr { - throw new OracleMethodNotAvailableError('emitContractClassUnencryptedLog'); - } - callPrivateFunction( _targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, diff --git a/yarn-project/simulator/src/client/client_execution_context.ts b/yarn-project/simulator/src/client/client_execution_context.ts index 380c1a4e4841..ca7f633329c7 100644 --- a/yarn-project/simulator/src/client/client_execution_context.ts +++ b/yarn-project/simulator/src/client/client_execution_context.ts @@ -2,14 +2,12 @@ import { type AuthWitness, type AztecNode, type Capsule, - CountedContractClassLog, CountedPublicExecutionRequest, Note, NoteAndSlot, type NoteStatus, type PrivateCallExecutionResult, PublicExecutionRequest, - type UnencryptedL2Log, } from '@aztec/circuit-types'; import { type BlockHeader, @@ -58,7 +56,6 @@ export class ClientExecutionContext extends ViewDataOracle { */ private noteHashLeafIndexMap: Map = new Map(); private noteHashNullifierCounterMap: Map = new Map(); - private contractClassLogs: CountedContractClassLog[] = []; private nestedExecutions: PrivateCallExecutionResult[] = []; private enqueuedPublicFunctionCalls: CountedPublicExecutionRequest[] = []; private publicTeardownFunctionCall: PublicExecutionRequest = PublicExecutionRequest.empty(); @@ -134,13 +131,6 @@ export class ClientExecutionContext extends ViewDataOracle { return this.noteHashNullifierCounterMap; } - /** - * Return the contract class logs emitted during this execution. - */ - public getContractClassLogs() { - return this.contractClassLogs; - } - /** * Return the nested execution results during this execution. */ @@ -322,30 +312,13 @@ export class ClientExecutionContext extends ViewDataOracle { return this.noteCache.nullifierCreated(this.callContext.contractAddress, innerNullifier); } - /** - * Emit a contract class unencrypted log. - * This fn exists because sha hashing the preimage - * is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it. - * See private_context.nr - * TODO(#8945): Contract class logs are currently sha hashes. When these are fields, delete this. - * @param log - The unencrypted log to be emitted. - */ - public override emitContractClassLog(log: UnencryptedL2Log, counter: number) { - this.contractClassLogs.push(new CountedContractClassLog(log, counter)); - const text = log.toHumanReadable(); - this.log.verbose( - `Emitted log from ContractClassRegisterer: "${text.length > 100 ? text.slice(0, 100) + '...' : text}"`, - ); - return Fr.fromBuffer(log.hash()); - } - #checkValidStaticCall(childExecutionResult: PrivateCallExecutionResult) { if ( childExecutionResult.publicInputs.noteHashes.some(item => !item.isEmpty()) || childExecutionResult.publicInputs.nullifiers.some(item => !item.isEmpty()) || childExecutionResult.publicInputs.l2ToL1Msgs.some(item => !item.isEmpty()) || childExecutionResult.publicInputs.privateLogs.some(item => !item.isEmpty()) || - childExecutionResult.publicInputs.contractClassLogsHashes.some(item => !item.isEmpty()) + childExecutionResult.publicInputs.contractClassLogs.some(item => !item.isEmpty()) ) { throw new Error(`Static call cannot update the state, emit L2->L1 messages or generate logs`); } diff --git a/yarn-project/simulator/src/client/private_execution.ts b/yarn-project/simulator/src/client/private_execution.ts index 3e9a5729b321..92d7acb1329b 100644 --- a/yarn-project/simulator/src/client/private_execution.ts +++ b/yarn-project/simulator/src/client/private_execution.ts @@ -69,8 +69,6 @@ export async function executePrivateFunction( appCircuitName: functionName, } satisfies CircuitWitnessGenerationStats); - const contractClassLogs = context.getContractClassLogs(); - const rawReturnValues = await context.loadFromExecutionCache(publicInputs.returnsHash); const noteHashLeafIndexMap = context.getNoteHashLeafIndexMap(); @@ -94,7 +92,6 @@ export async function executePrivateFunction( nestedExecutions, enqueuedPublicFunctionCalls, publicTeardownFunctionCall, - contractClassLogs, ); } diff --git a/yarn-project/simulator/src/public/public_db_sources.ts b/yarn-project/simulator/src/public/public_db_sources.ts index 69b2a5871b43..868309244741 100644 --- a/yarn-project/simulator/src/public/public_db_sources.ts +++ b/yarn-project/simulator/src/public/public_db_sources.ts @@ -1,5 +1,4 @@ import { - ContractClassTxL2Logs, MerkleTreeId, type MerkleTreeReadOperations, type MerkleTreeWriteOperations, @@ -20,7 +19,11 @@ import { type PublicDataTreeLeafPreimage, computePublicBytecodeCommitment, } from '@aztec/circuits.js'; -import { computeL1ToL2MessageNullifier, computePublicDataTreeLeafSlot } from '@aztec/circuits.js/hash'; +import { + computeL1ToL2MessageNullifier, + computePublicDataTreeLeafSlot, + siloContractClassLog, +} from '@aztec/circuits.js/hash'; import { createLogger } from '@aztec/foundation/log'; import { Timer } from '@aztec/foundation/timer'; import { ContractClassRegisteredEvent } from '@aztec/protocol-contracts/class-registerer'; @@ -47,10 +50,10 @@ export class ContractsDataSourcePublicDB implements PublicContractsDB { */ public async addNewContracts(tx: Tx): Promise { // Extract contract class and instance data from logs and add to cache for this block - const logs = tx.contractClassLogs.unrollLogs(); - const contractClassRegisteredEvents = logs - .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data)) - .map(log => ContractClassRegisteredEvent.fromLog(log.data)); + const siloedLogs = await Promise.all(tx.data.getNonEmptyContractClassLogs().map(log => siloContractClassLog(log))); + const contractClassRegisteredEvents = siloedLogs + .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log)) + .map(log => ContractClassRegisteredEvent.fromLog(log)); await Promise.all( contractClassRegisteredEvents.map(async event => { this.log.debug(`Adding class ${event.contractClassId.toString()} to public execution contract cache`); @@ -76,22 +79,18 @@ export class ContractsDataSourcePublicDB implements PublicContractsDB { * @param tx - The tx's contracts to be removed * @param onlyRevertible - Whether to only remove contracts added from revertible contract class logs */ - public removeNewContracts(tx: Tx, onlyRevertible: boolean = false): Promise { + public async removeNewContracts(tx: Tx, onlyRevertible: boolean = false): Promise { // TODO(@spalladino): Can this inadvertently delete a valid contract added by another tx? // Let's say we have two txs adding the same contract on the same block. If the 2nd one reverts, // wouldn't that accidentally remove the contract added on the first one? const contractClassLogs = onlyRevertible - ? tx.contractClassLogs - .filterScoped( - tx.data.forPublic!.revertibleAccumulatedData.contractClassLogsHashes, - ContractClassTxL2Logs.empty(), - ) - .unrollLogs() - : tx.contractClassLogs.unrollLogs(); - contractClassLogs - .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data)) + ? tx.data.forPublic!.revertibleAccumulatedData.contractClassLogs + : tx.data.getNonEmptyContractClassLogs(); + const siloedLogs = await Promise.all(contractClassLogs.map(log => siloContractClassLog(log))); + siloedLogs + .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log)) .forEach(log => { - const event = ContractClassRegisteredEvent.fromLog(log.data); + const event = ContractClassRegisteredEvent.fromLog(log); this.classCache.delete(event.contractClassId.toString()); }); diff --git a/yarn-project/simulator/src/public/public_processor.test.ts b/yarn-project/simulator/src/public/public_processor.test.ts index 8f9bedb015f7..3ba602693c19 100644 --- a/yarn-project/simulator/src/public/public_processor.test.ts +++ b/yarn-project/simulator/src/public/public_processor.test.ts @@ -193,8 +193,9 @@ describe('public_processor', () => { return mockedEnqueuedCallsResult; }); + // TODO(MW): I increased this for cc logs to run. Should revert and investigate. // We allocate a deadline of 2s, so only 2 txs should fit - const deadline = new Date(Date.now() + 2000); + const deadline = new Date(Date.now() + 2500); const [processed, failed] = await processor.process(txs, { deadline }); expect(processed.length).toBe(2); diff --git a/yarn-project/simulator/src/public/public_processor.ts b/yarn-project/simulator/src/public/public_processor.ts index 23a0de010d60..1ff8f0e2bb74 100644 --- a/yarn-project/simulator/src/public/public_processor.ts +++ b/yarn-project/simulator/src/public/public_processor.ts @@ -21,6 +21,7 @@ import { NULLIFIER_SUBTREE_HEIGHT, PublicDataWrite, } from '@aztec/circuits.js'; +import { siloContractClassLog } from '@aztec/circuits.js/hash'; import { padArrayEnd } from '@aztec/foundation/collection'; import { createLogger } from '@aztec/foundation/log'; import { type DateProvider, Timer, elapsed, executeTimeout } from '@aztec/foundation/timer'; @@ -309,7 +310,7 @@ export class PublicProcessor implements Traceable { publicDataWriteCount: processedTx.txEffect.publicDataWrites.length, nullifierCount: processedTx.txEffect.nullifiers.length, noteHashCount: processedTx.txEffect.noteHashes.length, - contractClassLogCount: processedTx.txEffect.contractClassLogs.getTotalLogCount(), + contractClassLogCount: processedTx.txEffect.contractClassLogs.length, publicLogCount: processedTx.txEffect.publicLogs.length, privateLogCount: processedTx.txEffect.privateLogs.length, l2ToL1MessageCount: processedTx.txEffect.l2ToL1Msgs.length, @@ -434,11 +435,14 @@ export class PublicProcessor implements Traceable { this.globalVariables, ); + const contractClassLogs = await Promise.all( + tx.data.getNonEmptyContractClassLogs().map(log => siloContractClassLog(log)), + ); + this.metrics.recordClassRegistration( - ...tx.contractClassLogs - .unrollLogs() - .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data)) - .map(log => ContractClassRegisteredEvent.fromLog(log.data)), + ...contractClassLogs + .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log)) + .map(log => ContractClassRegisteredEvent.fromLog(log)), ); return [processedTx, undefined]; } @@ -465,11 +469,14 @@ export class PublicProcessor implements Traceable { } }); + const contractClassLogs = await Promise.all( + tx.data.getNonEmptyContractClassLogs().map(log => siloContractClassLog(log)), + ); + this.metrics.recordClassRegistration( - ...tx.contractClassLogs - .unrollLogs() - .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data)) - .map(log => ContractClassRegisteredEvent.fromLog(log.data)), + ...contractClassLogs + .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log)) + .map(log => ContractClassRegisteredEvent.fromLog(log)), ); const phaseCount = processedPhases.length; diff --git a/yarn-project/simulator/src/public/public_tx_simulator.test.ts b/yarn-project/simulator/src/public/public_tx_simulator.test.ts index bde8d830956a..b1e1ad77c34a 100644 --- a/yarn-project/simulator/src/public/public_tx_simulator.test.ts +++ b/yarn-project/simulator/src/public/public_tx_simulator.test.ts @@ -4,14 +4,13 @@ import { SimulationError, type Tx, TxExecutionPhase, - UnencryptedFunctionL2Logs, - UnencryptedL2Log, mockTx, } from '@aztec/circuit-types'; import { AppendOnlyTreeSnapshot, AztecAddress, BlockHeader, + CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, type ContractDataSource, Fr, Gas, @@ -24,8 +23,9 @@ import { PublicDataTreeLeaf, PublicDataWrite, REGISTERER_CONTRACT_ADDRESS, + REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE, RevertCode, - ScopedLogHash, + ScopedContractClassLogData, StateReference, countAccumulatedItems, } from '@aztec/circuits.js'; @@ -35,7 +35,7 @@ import { bufferAsFields } from '@aztec/foundation/abi'; import { type AztecKVStore } from '@aztec/kv-store'; import { openTmpStore } from '@aztec/kv-store/lmdb'; import { type AppendOnlyTree, Poseidon, StandardTree, newTree } from '@aztec/merkle-tree'; -import { ProtocolContractAddress, REGISTERER_CONTRACT_CLASS_REGISTERED_TAG } from '@aztec/protocol-contracts'; +import { ProtocolContractAddress } from '@aztec/protocol-contracts'; import { computeFeePayerBalanceStorageSlot } from '@aztec/protocol-contracts/fee-juice'; import { NativeWorldStateService } from '@aztec/world-state'; @@ -171,7 +171,7 @@ describe('public_tx_simulator', () => { const mockContractClassForTx = async (tx: Tx, revertible = true) => { const publicContractClass = await makeContractClassPublic(42); const contractClassLogFields = [ - REGISTERER_CONTRACT_CLASS_REGISTERED_TAG, + new Fr(REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE), publicContractClass.id, new Fr(publicContractClass.version), publicContractClass.artifactHash, @@ -181,25 +181,18 @@ describe('public_tx_simulator', () => { Math.ceil(publicContractClass.packedBytecode.length / 32) + 1, ), ]; - const contractClassLogBuffer = Buffer.concat([ - ...contractClassLogFields.map(f => f.toBuffer()), - publicContractClass.packedBytecode, - Buffer.alloc(32 - (publicContractClass.packedBytecode.length % 32)), - ]); - const contractClassLog = new UnencryptedFunctionL2Logs([ - new UnencryptedL2Log(AztecAddress.fromNumber(REGISTERER_CONTRACT_ADDRESS), contractClassLogBuffer), - ]); - tx.contractClassLogs.addFunctionLogs([contractClassLog]); - const contractClassLogHash = ScopedLogHash.fromFields([ - Fr.fromBuffer(contractClassLog.logs[0].hash()), + const contractClassLog = ScopedContractClassLogData.fromFields([ + ...contractClassLogFields.concat( + new Array(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - contractClassLogFields.length).fill(Fr.ZERO), + ), new Fr(7), - new Fr(contractClassLog.getKernelLength()), + new Fr(contractClassLogFields.length), new Fr(REGISTERER_CONTRACT_ADDRESS), ]); if (revertible) { - tx.data.forPublic!.revertibleAccumulatedData.contractClassLogsHashes[0] = contractClassLogHash; + tx.data.forPublic!.revertibleAccumulatedData.contractClassLogs[0] = contractClassLog; } else { - tx.data.forPublic!.nonRevertibleAccumulatedData.contractClassLogsHashes[0] = contractClassLogHash; + tx.data.forPublic!.nonRevertibleAccumulatedData.contractClassLogs[0] = contractClassLog; } return publicContractClass.id; @@ -874,10 +867,8 @@ describe('public_tx_simulator', () => { const contractClass = await worldStateDB.getContractClass(contractClassId); if (kind == 'revertible') { - expect(tx.contractClassLogs.unrollLogs().length).toEqual(0); expect(contractClass).toBeUndefined(); } else { - expect(tx.contractClassLogs.unrollLogs().length).toEqual(1); expect(contractClass).toBeDefined(); } }); diff --git a/yarn-project/simulator/src/public/public_tx_simulator.ts b/yarn-project/simulator/src/public/public_tx_simulator.ts index 371b6db33277..3d9294367e3b 100644 --- a/yarn-project/simulator/src/public/public_tx_simulator.ts +++ b/yarn-project/simulator/src/public/public_tx_simulator.ts @@ -128,8 +128,6 @@ export class PublicTxSimulator { // You can't submit contracts in public, so this is only relevant for private-created side effects // FIXME: we shouldn't need to directly modify worldStateDb here! await this.worldStateDB.removeNewContracts(tx, true); - // FIXME(dbanks12): should not be changing immutable tx - tx.filterRevertedLogs(tx.data.forPublic!.nonRevertibleAccumulatedData); } return { diff --git a/yarn-project/txe/src/oracle/txe_oracle.ts b/yarn-project/txe/src/oracle/txe_oracle.ts index 69a6c2e89ecf..981d08d09ed6 100644 --- a/yarn-project/txe/src/oracle/txe_oracle.ts +++ b/yarn-project/txe/src/oracle/txe_oracle.ts @@ -13,7 +13,6 @@ import { SimulationError, TxEffect, TxHash, - type UnencryptedL2Log, } from '@aztec/circuit-types'; import { type CircuitWitnessGenerationStats } from '@aztec/circuit-types/stats'; import { @@ -768,10 +767,6 @@ export class TXE implements TypedOracle { return new Fr(this.blockNumber + 6969); } - emitContractClassLog(_log: UnencryptedL2Log, _counter: number): Fr { - throw new Error('Method not implemented.'); - } - async callPrivateFunction( targetContractAddress: AztecAddress, functionSelector: FunctionSelector,