diff --git a/precompiles/xtokens/src/lib.rs b/precompiles/xtokens/src/lib.rs index ff051b5d466..c8642682230 100644 --- a/precompiles/xtokens/src/lib.rs +++ b/precompiles/xtokens/src/lib.rs @@ -48,7 +48,10 @@ pub type CurrencyIdOf = ::CurrencyId; #[derive(Debug, PartialEq)] pub enum Action { Transfer = "transfer(address,uint256,(uint8,bytes[]),uint64)", + TransferWithFee = "transfer_with_fee(address,uint256,uint256,(uint8,bytes[]),uint64)", TransferMultiAsset = "transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)", + TransferMultiAssetWithFee = + "transfer_multiasset_with_fee((uint8,bytes[]),uint256,uint256,(uint8,bytes[]),uint64)", } /// A precompile to wrap the functionality from xtokens @@ -78,7 +81,11 @@ where match selector { Action::Transfer => Self::transfer(input, gasometer, context), + Action::TransferWithFee => Self::transfer_with_fee(input, gasometer, context), Action::TransferMultiAsset => Self::transfer_multiasset(input, gasometer, context), + Action::TransferMultiAssetWithFee => { + Self::transfer_multiasset_with_fee(input, gasometer, context) + } } } } @@ -138,6 +145,59 @@ where }) } + fn transfer_with_fee( + input: &mut EvmDataReader, + gasometer: &mut Gasometer, + context: &Context, + ) -> EvmResult { + input.expect_arguments(gasometer, 5)?; + + let to_address: H160 = input.read::
(gasometer)?.into(); + let amount: U256 = input.read(gasometer)?; + let fee: U256 = input.read(gasometer)?; + + // We use the MultiLocation, which we have instructed how to read + // In the end we are using the encoding + let destination: MultiLocation = input.read::(gasometer)?; + + let dest_weight: u64 = input.read::(gasometer)?; + + let to_account = Runtime::AddressMapping::into_account_id(to_address); + // We convert the address into a currency id xtokens understands + let currency_id: ::CurrencyId = + Runtime::account_to_currency_id(to_account) + .ok_or(gasometer.revert("cannot convert into currency id"))?; + + let origin = Runtime::AddressMapping::into_account_id(context.caller); + + // Transferred amount + let amount = amount + .try_into() + .map_err(|_| gasometer.revert("Amount is too large for provided balance type"))?; + + // Fee amount + let fee = fee + .try_into() + .map_err(|_| gasometer.revert("Amount is too large for provided balance type"))?; + + let call = orml_xtokens::Call::::transfer_with_fee { + currency_id, + amount, + fee, + dest: Box::new(VersionedMultiLocation::V1(destination)), + dest_weight, + }; + + RuntimeHelper::::try_dispatch(Some(origin).into(), call, gasometer)?; + + Ok(PrecompileOutput { + exit_status: ExitSucceed::Returned, + cost: gasometer.used_gas(), + output: Default::default(), + logs: Default::default(), + }) + } + fn transfer_multiasset( input: &mut EvmDataReader, gasometer: &mut Gasometer, @@ -180,4 +240,53 @@ where logs: Default::default(), }) } + + fn transfer_multiasset_with_fee( + input: &mut EvmDataReader, + gasometer: &mut Gasometer, + context: &Context, + ) -> EvmResult { + input.expect_arguments(gasometer, 5)?; + + // asset is defined as a multiLocation. For now we are assuming these are concrete + // fungible assets + let asset_multilocation: MultiLocation = input.read::(gasometer)?; + let amount: U256 = input.read(gasometer)?; + let fee: U256 = input.read(gasometer)?; + + // read destination + let destination: MultiLocation = input.read::(gasometer)?; + + let dest_weight: u64 = input.read::(gasometer)?; + + let origin = Runtime::AddressMapping::into_account_id(context.caller); + let amount = amount + .try_into() + .map_err(|_| gasometer.revert("Amount is too large for provided balance type"))?; + let fee = fee + .try_into() + .map_err(|_| gasometer.revert("Amount is too large for provided balance type"))?; + + let call = orml_xtokens::Call::::transfer_multiasset_with_fee { + asset: Box::new(VersionedMultiAsset::V1(MultiAsset { + id: AssetId::Concrete(asset_multilocation.clone()), + fun: Fungibility::Fungible(amount), + })), + fee: Box::new(VersionedMultiAsset::V1(MultiAsset { + id: AssetId::Concrete(asset_multilocation), + fun: Fungibility::Fungible(fee), + })), + dest: Box::new(VersionedMultiLocation::V1(destination)), + dest_weight, + }; + + RuntimeHelper::::try_dispatch(Some(origin).into(), call, gasometer)?; + + Ok(PrecompileOutput { + exit_status: ExitSucceed::Returned, + cost: gasometer.used_gas(), + output: Default::default(), + logs: Default::default(), + }) + } } diff --git a/precompiles/xtokens/src/tests.rs b/precompiles/xtokens/src/tests.rs index 21bcee729bd..910ef8b3ed5 100644 --- a/precompiles/xtokens/src/tests.rs +++ b/precompiles/xtokens/src/tests.rs @@ -53,6 +53,25 @@ fn test_selector_enum() { Action::try_from_primitive(u32::from_be_bytes(buffer)).unwrap(), Action::TransferMultiAsset, ); + + buffer.copy_from_slice( + &Keccak256::digest(b"transfer_with_fee(address,uint256,uint256,(uint8,bytes[]),uint64)") + [0..4], + ); + assert_eq!( + Action::try_from_primitive(u32::from_be_bytes(buffer)).unwrap(), + Action::TransferWithFee, + ); + + buffer.copy_from_slice( + &Keccak256::digest( + b"transfer_multiasset_with_fee((uint8,bytes[]),uint256,uint256,(uint8,bytes[]),uint64)", + )[0..4], + ); + assert_eq!( + Action::try_from_primitive(u32::from_be_bytes(buffer)).unwrap(), + Action::TransferMultiAssetWithFee, + ); } #[test] @@ -185,6 +204,59 @@ fn transfer_to_reserve_works() { }); } +#[test] +fn transfer_to_reserve_with_fee_works() { + ExtBuilder::default() + .with_balances(vec![(Alice, 1000)]) + .build() + .execute_with(|| { + let destination = MultiLocation::new( + 1, + Junctions::X1(Junction::AccountId32 { + network: NetworkId::Any, + id: [1u8; 32], + }), + ); + // We are transferring asset 0, which we have instructed to be the relay asset + // Fees are not trully charged, so no worries + assert_eq!( + precompiles().execute( + Precompile.into(), + &EvmDataWriter::new_with_selector(Action::TransferWithFee) + .write(Address(AssetId(0u128).into())) + .write(U256::from(500)) + .write(U256::from(50)) + .write(destination.clone()) + .write(U256::from(4000000)) + .build(), + None, + &Context { + address: Precompile.into(), + caller: Alice.into(), + apparent_value: From::from(0), + }, + false, + ), + Some(Ok(PrecompileOutput { + exit_status: ExitSucceed::Returned, + cost: 3000, + output: vec![], + logs: vec![] + })) + ); + let expected: crate::mock::Event = XtokensEvent::TransferredWithFee( + Alice, + CurrencyId::OtherReserve(0u128), + 500, + 50, + destination, + ) + .into(); + // Assert that the events vector contains the one expected + assert!(events().contains(&expected)); + }); +} + #[test] fn transfer_non_reserve_to_non_reserve_works() { ExtBuilder::default() @@ -232,6 +304,59 @@ fn transfer_non_reserve_to_non_reserve_works() { }); } +#[test] +fn transfer_non_reserve_to_non_reserve_with_fee_works() { + ExtBuilder::default() + .with_balances(vec![(Alice, 1000)]) + .build() + .execute_with(|| { + let destination = MultiLocation::new( + 1, + Junctions::X1(Junction::AccountId32 { + network: NetworkId::Any, + id: [1u8; 32], + }), + ); + + // We are transferring asset 1, which corresponds to another parachain Id asset + assert_eq!( + precompiles().execute( + Precompile.into(), + &EvmDataWriter::new_with_selector(Action::TransferWithFee) + .write(Address(AssetId(1u128).into())) + .write(U256::from(500)) + .write(U256::from(50)) + .write(destination.clone()) + .write(U256::from(4000000)) + .build(), + None, + &Context { + address: Precompile.into(), + caller: Alice.into(), + apparent_value: From::from(0), + }, + false + ), + Some(Ok(PrecompileOutput { + exit_status: ExitSucceed::Returned, + cost: 3000, + output: vec![], + logs: vec![] + })) + ); + let expected: crate::mock::Event = XtokensEvent::TransferredWithFee( + Alice, + CurrencyId::OtherReserve(1u128), + 500, + 50, + destination, + ) + .into(); + // Assert that the events vector contains the one expected + assert!(events().contains(&expected)); + }); +} + #[test] fn transfer_multi_asset_to_reserve_works() { ExtBuilder::default() @@ -340,6 +465,65 @@ fn transfer_multi_asset_self_reserve_works() { }); } +#[test] +fn transfer_multi_asset_self_reserve_with_fee_works() { + ExtBuilder::default() + .with_balances(vec![(Alice, 1000)]) + .build() + .execute_with(|| { + let destination = MultiLocation::new( + 1, + Junctions::X1(Junction::AccountId32 { + network: NetworkId::Any, + id: [1u8; 32], + }), + ); + + let self_reserve = crate::mock::SelfReserve::get(); + + assert_eq!( + precompiles().execute( + Precompile.into(), + &EvmDataWriter::new_with_selector(Action::TransferMultiAssetWithFee) + .write(self_reserve.clone()) + .write(U256::from(500)) + .write(U256::from(50)) + .write(destination) + .write(U256::from(4000000)) + .build(), + None, + &Context { + address: Precompile.into(), + caller: Alice.into(), + apparent_value: From::from(0), + }, + false, + ), + Some(Ok(PrecompileOutput { + exit_status: ExitSucceed::Returned, + cost: 3000, + output: vec![], + logs: vec![] + })) + ); + let expected: crate::mock::Event = XtokensEvent::TransferredMultiAssetWithFee( + Alice, + MultiAsset { + id: AssetId::Concrete(self_reserve.clone()), + fun: Fungibility::Fungible(500), + }, + MultiAsset { + id: AssetId::Concrete(self_reserve), + fun: Fungibility::Fungible(50), + }, + MultiLocation::parent(), + ) + .into(); + // Assert that the events vector contains the one expected + assert!(events().contains(&expected)); + }); +} + #[test] fn transfer_multi_asset_non_reserve_to_non_reserve() { ExtBuilder::default() @@ -396,3 +580,65 @@ fn transfer_multi_asset_non_reserve_to_non_reserve() { assert!(events().contains(&expected)); }); } + +#[test] +fn transfer_multi_asset_non_reserve_to_non_reserve_with_fee() { + ExtBuilder::default() + .with_balances(vec![(Alice, 1000)]) + .build() + .execute_with(|| { + let destination = MultiLocation::new( + 1, + Junctions::X1(Junction::AccountId32 { + network: NetworkId::Any, + id: [1u8; 32], + }), + ); + + let asset_location = MultiLocation::new( + 1, + Junctions::X2(Junction::Parachain(2), Junction::GeneralIndex(5u128)), + ); + + assert_eq!( + precompiles().execute( + Precompile.into(), + &EvmDataWriter::new_with_selector(Action::TransferMultiAssetWithFee) + .write(asset_location.clone()) + .write(U256::from(500)) + .write(U256::from(50)) + .write(destination.clone()) + .write(U256::from(4000000)) + .build(), + None, + &Context { + address: Precompile.into(), + caller: Alice.into(), + apparent_value: From::from(0), + }, + false + ), + Some(Ok(PrecompileOutput { + exit_status: ExitSucceed::Returned, + cost: 3000, + output: vec![], + logs: vec![] + })) + ); + let expected: crate::mock::Event = XtokensEvent::TransferredMultiAssetWithFee( + Alice, + MultiAsset { + id: AssetId::Concrete(asset_location.clone()), + fun: Fungibility::Fungible(500), + }, + MultiAsset { + id: AssetId::Concrete(asset_location), + fun: Fungibility::Fungible(50), + }, + MultiLocation::parent(), + ) + .into(); + // Assert that the events vector contains the one expected + assert!(events().contains(&expected)); + }); +} diff --git a/runtime/moonbase/tests/xcm_tests.rs b/runtime/moonbase/tests/xcm_tests.rs index 39ae0c09c39..b2a5a10fc4d 100644 --- a/runtime/moonbase/tests/xcm_tests.rs +++ b/runtime/moonbase/tests/xcm_tests.rs @@ -579,6 +579,72 @@ fn receive_relay_asset_with_trader() { }); } +#[test] +fn send_para_a_asset_to_para_b_with_trader_and_fee() { + MockNet::reset(); + + let para_a_balances = MultiLocation::new(1, X2(Parachain(1), PalletInstance(1u8))); + let source_location = parachain::AssetType::Xcm(para_a_balances); + let source_id: parachain::AssetId = source_location.clone().into(); + + let asset_metadata = parachain::AssetMetadata { + name: b"ParaAToken".to_vec(), + symbol: b"ParaA".to_vec(), + decimals: 18, + }; + + ParaB::execute_with(|| { + assert_ok!(AssetManager::register_asset( + parachain::Origin::root(), + source_location, + asset_metadata, + 1u128, + )); + // With these units per second, 80K weight convrets to 1 asset unit + assert_ok!(AssetManager::set_asset_units_per_second( + parachain::Origin::root(), + source_id, + 12500000u128 + )); + }); + + let dest = MultiLocation { + parents: 1, + interior: X2( + Parachain(2), + AccountKey20 { + network: NetworkId::Any, + key: PARAALICE.into(), + }, + ), + }; + + // we use transfer_with_fee + ParaA::execute_with(|| { + assert_ok!(XTokens::transfer_with_fee( + parachain::Origin::signed(PARAALICE.into()), + parachain::CurrencyId::SelfReserve, + 100, + 1, + Box::new(VersionedMultiLocation::V1(dest)), + 800000 + )); + }); + ParaA::execute_with(|| { + // 100 tokens transferred plus 1 taken from fees + assert_eq!( + ParaBalances::free_balance(&PARAALICE.into()), + INITIAL_BALANCE - 100 - 1 + ); + }); + + ParaB::execute_with(|| { + // free execution, full amount received because trully the xcm instruction does not cost + // what it is specified + assert_eq!(Assets::balance(source_id, &PARAALICE.into()), 101); + }); +} + #[test] fn error_when_not_paying_enough() { MockNet::reset(); diff --git a/tests/contracts/compiled/XtokensInstance.json b/tests/contracts/compiled/XtokensInstance.json index 42f78a0dee6..ee36fc8b9f2 100644 --- a/tests/contracts/compiled/XtokensInstance.json +++ b/tests/contracts/compiled/XtokensInstance.json @@ -1,5 +1,5 @@ { - "byteCode": "0x60806040526108046000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005257600080fd5b506109c0806100626000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063af3dcee814610046578063b38c60fa14610064578063b9f813ff14610080575b600080fd5b61004e61009c565b60405161005b9190610692565b60405180910390f35b61007e6004803603810190610079919061045d565b6100c0565b005b61009a600480360381019061009591906103da565b610157565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b38c60fa858585856040518563ffffffff1660e01b815260040161011f94939291906106ad565b600060405180830381600087803b15801561013957600080fd5b505af115801561014d573d6000803e3d6000fd5b5050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9f813ff858585856040518563ffffffff1660e01b81526004016101b69493929190610646565b600060405180830381600087803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050505050505050565b60006102016101fc84610725565b610700565b9050808382526020820190508285602086028201111561022457610223610909565b5b60005b8581101561027257813567ffffffffffffffff81111561024a576102496108fa565b5b8086016102578982610301565b85526020850194506020840193505050600181019050610227565b5050509392505050565b600061028f61028a84610751565b610700565b9050828152602081018484840111156102ab576102aa61090e565b5b6102b6848285610858565b509392505050565b6000813590506102cd8161092e565b92915050565b600082601f8301126102e8576102e76108fa565b5b81356102f88482602086016101ee565b91505092915050565b600082601f830112610316576103156108fa565b5b813561032684826020860161027c565b91505092915050565b600060408284031215610345576103446108ff565b5b61034f6040610700565b9050600061035f848285016103c5565b600083015250602082013567ffffffffffffffff81111561038357610382610904565b5b61038f848285016102d3565b60208301525092915050565b6000813590506103aa81610945565b92915050565b6000813590506103bf8161095c565b92915050565b6000813590506103d481610973565b92915050565b600080600080608085870312156103f4576103f3610918565b5b6000610402878288016102be565b94505060206104138782880161039b565b935050604085013567ffffffffffffffff81111561043457610433610913565b5b6104408782880161032f565b9250506060610451878288016103b0565b91505092959194509250565b6000806000806080858703121561047757610476610918565b5b600085013567ffffffffffffffff81111561049557610494610913565b5b6104a18782880161032f565b94505060206104b28782880161039b565b935050604085013567ffffffffffffffff8111156104d3576104d2610913565b5b6104df8782880161032f565b92505060606104f0878288016103b0565b91505092959194509250565b60006105088383610594565b905092915050565b610519816107d7565b82525050565b600061052a82610792565b61053481856107b5565b93508360208202850161054685610782565b8060005b85811015610582578484038952815161056385826104fc565b945061056e836107a8565b925060208a0199505060018101905061054a565b50829750879550505050505092915050565b600061059f8261079d565b6105a981856107c6565b93506105b9818560208601610867565b6105c28161091d565b840191505092915050565b6105d681610834565b82525050565b60006040830160008301516105f46000860182610637565b506020830151848203602086015261060c828261051f565b9150508091505092915050565b61062281610809565b82525050565b61063181610813565b82525050565b61064081610827565b82525050565b600060808201905061065b6000830187610510565b6106686020830186610619565b818103604083015261067a81856105dc565b90506106896060830184610628565b95945050505050565b60006020820190506106a760008301846105cd565b92915050565b600060808201905081810360008301526106c781876105dc565b90506106d66020830186610619565b81810360408301526106e881856105dc565b90506106f76060830184610628565b95945050505050565b600061070a61071b565b9050610716828261089a565b919050565b6000604051905090565b600067ffffffffffffffff8211156107405761073f6108cb565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561076c5761076b6108cb565b5b6107758261091d565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107e2826107e9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061083f82610846565b9050919050565b6000610851826107e9565b9050919050565b82818337600083830152505050565b60005b8381101561088557808201518184015260208101905061086a565b83811115610894576000848401525b50505050565b6108a38261091d565b810181811067ffffffffffffffff821117156108c2576108c16108cb565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610937816107d7565b811461094257600080fd5b50565b61094e81610809565b811461095957600080fd5b50565b61096581610813565b811461097057600080fd5b50565b61097c81610827565b811461098757600080fd5b5056fea2646970667358221220575d5f70ce7c46f061274cb948a465f99735e8b3fb5cd407fd2e79a17e0e62d364736f6c63430008060033", + "byteCode": "0x60806040526108046000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005257600080fd5b50610d6c806100626000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806389a570fc1461005c57806394f6911514610078578063af3dcee814610094578063b38c60fa146100b2578063b9f813ff146100ce575b600080fd5b610076600480360381019061007191906106d5565b6100ea565b005b610092600480360381019061008d91906107e6565b610184565b005b61009c61021e565b6040516100a991906108dc565b60405180910390f35b6100cc60048036038101906100c791906108f7565b610242565b005b6100e860048036038101906100e39190610996565b6102d9565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166389a570fc86868686866040518663ffffffff1660e01b815260040161014b959493929190610bcd565b600060405180830381600087803b15801561016557600080fd5b505af1158015610179573d6000803e3d6000fd5b505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394f6911586868686866040518663ffffffff1660e01b81526004016101e5959493929190610c3d565b600060405180830381600087803b1580156101ff57600080fd5b505af1158015610213573d6000803e3d6000fd5b505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b38c60fa858585856040518563ffffffff1660e01b81526004016102a19493929190610c97565b600060405180830381600087803b1580156102bb57600080fd5b505af11580156102cf573d6000803e3d6000fd5b5050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9f813ff858585856040518563ffffffff1660e01b81526004016103389493929190610cea565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103d282610389565b810181811067ffffffffffffffff821117156103f1576103f061039a565b5b80604052505050565b6000610404610370565b905061041082826103c9565b919050565b600080fd5b600060ff82169050919050565b6104308161041a565b811461043b57600080fd5b50565b60008135905061044d81610427565b92915050565b600080fd5b600067ffffffffffffffff8211156104735761047261039a565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156104a9576104a861039a565b5b6104b282610389565b9050602081019050919050565b82818337600083830152505050565b60006104e16104dc8461048e565b6103fa565b9050828152602081018484840111156104fd576104fc610489565b5b6105088482856104bf565b509392505050565b600082601f83011261052557610524610453565b5b81356105358482602086016104ce565b91505092915050565b600061055161054c84610458565b6103fa565b9050808382526020820190506020840283018581111561057457610573610484565b5b835b818110156105bb57803567ffffffffffffffff81111561059957610598610453565b5b8086016105a68982610510565b85526020850194505050602081019050610576565b5050509392505050565b600082601f8301126105da576105d9610453565b5b81356105ea84826020860161053e565b91505092915050565b60006040828403121561060957610608610384565b5b61061360406103fa565b905060006106238482850161043e565b600083015250602082013567ffffffffffffffff81111561064757610646610415565b5b610653848285016105c5565b60208301525092915050565b6000819050919050565b6106728161065f565b811461067d57600080fd5b50565b60008135905061068f81610669565b92915050565b600067ffffffffffffffff82169050919050565b6106b281610695565b81146106bd57600080fd5b50565b6000813590506106cf816106a9565b92915050565b600080600080600060a086880312156106f1576106f061037a565b5b600086013567ffffffffffffffff81111561070f5761070e61037f565b5b61071b888289016105f3565b955050602061072c88828901610680565b945050604061073d88828901610680565b935050606086013567ffffffffffffffff81111561075e5761075d61037f565b5b61076a888289016105f3565b925050608061077b888289016106c0565b9150509295509295909350565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107b382610788565b9050919050565b6107c3816107a8565b81146107ce57600080fd5b50565b6000813590506107e0816107ba565b92915050565b600080600080600060a086880312156108025761080161037a565b5b6000610810888289016107d1565b955050602061082188828901610680565b945050604061083288828901610680565b935050606086013567ffffffffffffffff8111156108535761085261037f565b5b61085f888289016105f3565b9250506080610870888289016106c0565b9150509295509295909350565b6000819050919050565b60006108a261089d61089884610788565b61087d565b610788565b9050919050565b60006108b482610887565b9050919050565b60006108c6826108a9565b9050919050565b6108d6816108bb565b82525050565b60006020820190506108f160008301846108cd565b92915050565b600080600080608085870312156109115761091061037a565b5b600085013567ffffffffffffffff81111561092f5761092e61037f565b5b61093b878288016105f3565b945050602061094c87828801610680565b935050604085013567ffffffffffffffff81111561096d5761096c61037f565b5b610979878288016105f3565b925050606061098a878288016106c0565b91505092959194509250565b600080600080608085870312156109b0576109af61037a565b5b60006109be878288016107d1565b94505060206109cf87828801610680565b935050604085013567ffffffffffffffff8111156109f0576109ef61037f565b5b6109fc878288016105f3565b9250506060610a0d878288016106c0565b91505092959194509250565b610a228161041a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a8e578082015181840152602081019050610a73565b83811115610a9d576000848401525b50505050565b6000610aae82610a54565b610ab88185610a5f565b9350610ac8818560208601610a70565b610ad181610389565b840191505092915050565b6000610ae88383610aa3565b905092915050565b6000602082019050919050565b6000610b0882610a28565b610b128185610a33565b935083602082028501610b2485610a44565b8060005b85811015610b605784840389528151610b418582610adc565b9450610b4c83610af0565b925060208a01995050600181019050610b28565b50829750879550505050505092915050565b6000604083016000830151610b8a6000860182610a19565b5060208301518482036020860152610ba28282610afd565b9150508091505092915050565b610bb88161065f565b82525050565b610bc781610695565b82525050565b600060a0820190508181036000830152610be78188610b72565b9050610bf66020830187610baf565b610c036040830186610baf565b8181036060830152610c158185610b72565b9050610c246080830184610bbe565b9695505050505050565b610c37816107a8565b82525050565b600060a082019050610c526000830188610c2e565b610c5f6020830187610baf565b610c6c6040830186610baf565b8181036060830152610c7e8185610b72565b9050610c8d6080830184610bbe565b9695505050505050565b60006080820190508181036000830152610cb18187610b72565b9050610cc06020830186610baf565b8181036040830152610cd28185610b72565b9050610ce16060830184610bbe565b95945050505050565b6000608082019050610cff6000830187610c2e565b610d0c6020830186610baf565b8181036040830152610d1e8185610b72565b9050610d2d6060830184610bbe565b9594505050505056fea2646970667358221220b24a0202511e20cccc8541601dc2b5ae2c631e77b614484a53c260036f97e79d64736f6c634300080a0033", "contract": { "abi": [ { @@ -66,6 +66,72 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint8", "name": "parents", "type": "uint8" }, + { + "internalType": "bytes[]", + "name": "interior", + "type": "bytes[]" + } + ], + "internalType": "struct Xtokens.Multilocation", + "name": "asset", + "type": "tuple" + }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "uint256", "name": "fee", "type": "uint256" }, + { + "components": [ + { "internalType": "uint8", "name": "parents", "type": "uint8" }, + { + "internalType": "bytes[]", + "name": "interior", + "type": "bytes[]" + } + ], + "internalType": "struct Xtokens.Multilocation", + "name": "destination", + "type": "tuple" + }, + { "internalType": "uint64", "name": "weight", "type": "uint64" } + ], + "name": "transfer_multiasset_with_fee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "currency_address", + "type": "address" + }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "uint256", "name": "fee", "type": "uint256" }, + { + "components": [ + { "internalType": "uint8", "name": "parents", "type": "uint8" }, + { + "internalType": "bytes[]", + "name": "interior", + "type": "bytes[]" + } + ], + "internalType": "struct Xtokens.Multilocation", + "name": "destination", + "type": "tuple" + }, + { "internalType": "uint64", "name": "weight", "type": "uint64" } + ], + "name": "transfer_with_fee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "xtokens", @@ -94,372 +160,436 @@ "asset": "The asset we want to transfer, defined by its multilocation. Currently only Concrete Fungible assets", "destination": "The weight we want to buy in the destination chain" } + }, + "transfer_multiasset_with_fee((uint8,bytes[]),uint256,uint256,(uint8,bytes[]),uint64)": { + "details": "The token transfer burns/transfers the corresponding amount before sending", + "params": { + "amount": "The amount of tokens we want to transfer", + "asset": "The asset we want to transfer, defined by its multilocation. Currently only Concrete Fungible assets", + "destination": "The weight we want to buy in the destination chain" + } + }, + "transfer_with_fee(address,uint256,uint256,(uint8,bytes[]),uint64)": { + "details": "The token transfer burns/transfers the corresponding amount before sending", + "params": { + "amount": "The amount of tokens we want to transfer", + "currency_address": "The ERC20 address of the currency we want to transfer", + "destination": "The weight we want to buy in the destination chain" + } } }, "version": 1 }, "evm": { - "assembly": " /* \"main.sol\":2038:2880 contract XtokensInstance is Xtokens {... */\n mstore(0x40, 0x80)\n /* \"main.sol\":2176:2218 0x0000000000000000000000000000000000000804 */\n 0x0804\n /* \"main.sol\":2143:2219 Xtokens public xtokens = Xtokens(0x0000000000000000000000000000000000000804) */\n 0x00\n dup1\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"main.sol\":2038:2880 contract XtokensInstance is Xtokens {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"main.sol\":2038:2880 contract XtokensInstance is Xtokens {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xaf3dcee8\n eq\n tag_3\n jumpi\n dup1\n 0xb38c60fa\n eq\n tag_4\n jumpi\n dup1\n 0xb9f813ff\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"main.sol\":2143:2219 Xtokens public xtokens = Xtokens(0x0000000000000000000000000000000000000804) */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"main.sol\":2588:2874 function transfer_multiasset(... */\n tag_4:\n tag_10\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n tag_13\n jump\t// in\n tag_10:\n stop\n /* \"main.sol\":2230:2579 function transfer(... */\n tag_5:\n tag_14\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_15\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n tag_17\n jump\t// in\n tag_14:\n stop\n /* \"main.sol\":2143:2219 Xtokens public xtokens = Xtokens(0x0000000000000000000000000000000000000804) */\n tag_7:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"main.sol\":2588:2874 function transfer_multiasset(... */\n tag_13:\n /* \"main.sol\":2800:2807 xtokens */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"main.sol\":2800:2827 xtokens.transfer_multiasset */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xb38c60fa\n /* \"main.sol\":2828:2833 asset */\n dup6\n /* \"main.sol\":2835:2841 amount */\n dup6\n /* \"main.sol\":2843:2854 destination */\n dup6\n /* \"main.sol\":2856:2862 weight */\n dup6\n /* \"main.sol\":2800:2863 xtokens.transfer_multiasset(asset, amount, destination, weight) */\n mload(0x40)\n dup6\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_19\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_20\n jump\t// in\n tag_19:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_21\n jumpi\n 0x00\n dup1\n revert\n tag_21:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_23\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_23:\n pop\n pop\n pop\n pop\n /* \"main.sol\":2588:2874 function transfer_multiasset(... */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"main.sol\":2230:2579 function transfer(... */\n tag_17:\n /* \"main.sol\":2505:2512 xtokens */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"main.sol\":2505:2521 xtokens.transfer */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xb9f813ff\n /* \"main.sol\":2522:2538 currency_address */\n dup6\n /* \"main.sol\":2540:2546 amount */\n dup6\n /* \"main.sol\":2548:2559 destination */\n dup6\n /* \"main.sol\":2561:2567 weight */\n dup6\n /* \"main.sol\":2505:2568 xtokens.transfer(currency_address, amount, destination, weight) */\n mload(0x40)\n dup6\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_25\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_26\n jump\t// in\n tag_25:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_27\n jumpi\n 0x00\n dup1\n revert\n tag_27:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_29\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_29:\n pop\n pop\n pop\n pop\n /* \"main.sol\":2230:2579 function transfer(... */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":22:976 */\n tag_31:\n /* \"#utility.yul\":127:132 */\n 0x00\n /* \"#utility.yul\":152:242 */\n tag_33\n /* \"#utility.yul\":168:241 */\n tag_34\n /* \"#utility.yul\":234:240 */\n dup5\n /* \"#utility.yul\":168:241 */\n tag_35\n jump\t// in\n tag_34:\n /* \"#utility.yul\":152:242 */\n tag_36\n jump\t// in\n tag_33:\n /* \"#utility.yul\":143:242 */\n swap1\n pop\n /* \"#utility.yul\":262:267 */\n dup1\n /* \"#utility.yul\":291:297 */\n dup4\n /* \"#utility.yul\":284:289 */\n dup3\n /* \"#utility.yul\":277:298 */\n mstore\n /* \"#utility.yul\":325:329 */\n 0x20\n /* \"#utility.yul\":318:323 */\n dup3\n /* \"#utility.yul\":314:330 */\n add\n /* \"#utility.yul\":307:330 */\n swap1\n pop\n /* \"#utility.yul\":351:357 */\n dup3\n /* \"#utility.yul\":401:404 */\n dup6\n /* \"#utility.yul\":393:397 */\n 0x20\n /* \"#utility.yul\":385:391 */\n dup7\n /* \"#utility.yul\":381:398 */\n mul\n /* \"#utility.yul\":376:379 */\n dup3\n /* \"#utility.yul\":372:399 */\n add\n /* \"#utility.yul\":369:405 */\n gt\n /* \"#utility.yul\":366:368 */\n iszero\n tag_37\n jumpi\n /* \"#utility.yul\":420:499 */\n tag_38\n tag_39\n jump\t// in\n tag_38:\n /* \"#utility.yul\":366:368 */\n tag_37:\n /* \"#utility.yul\":533:534 */\n 0x00\n /* \"#utility.yul\":518:970 */\n tag_40:\n /* \"#utility.yul\":543:549 */\n dup6\n /* \"#utility.yul\":540:541 */\n dup2\n /* \"#utility.yul\":537:550 */\n lt\n /* \"#utility.yul\":518:970 */\n iszero\n tag_42\n jumpi\n /* \"#utility.yul\":625:628 */\n dup2\n /* \"#utility.yul\":612:629 */\n calldataload\n /* \"#utility.yul\":661:679 */\n 0xffffffffffffffff\n /* \"#utility.yul\":648:659 */\n dup2\n /* \"#utility.yul\":645:680 */\n gt\n /* \"#utility.yul\":642:644 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":683:762 */\n tag_44\n tag_45\n jump\t// in\n tag_44:\n /* \"#utility.yul\":642:644 */\n tag_43:\n /* \"#utility.yul\":807:818 */\n dup1\n /* \"#utility.yul\":799:805 */\n dup7\n /* \"#utility.yul\":795:819 */\n add\n /* \"#utility.yul\":845:891 */\n tag_46\n /* \"#utility.yul\":887:890 */\n dup10\n /* \"#utility.yul\":875:885 */\n dup3\n /* \"#utility.yul\":845:891 */\n tag_47\n jump\t// in\n tag_46:\n /* \"#utility.yul\":840:843 */\n dup6\n /* \"#utility.yul\":833:892 */\n mstore\n /* \"#utility.yul\":921:925 */\n 0x20\n /* \"#utility.yul\":916:919 */\n dup6\n /* \"#utility.yul\":912:926 */\n add\n /* \"#utility.yul\":905:926 */\n swap5\n pop\n /* \"#utility.yul\":955:959 */\n 0x20\n /* \"#utility.yul\":950:953 */\n dup5\n /* \"#utility.yul\":946:960 */\n add\n /* \"#utility.yul\":939:960 */\n swap4\n pop\n /* \"#utility.yul\":578:970 */\n pop\n pop\n /* \"#utility.yul\":565:566 */\n 0x01\n /* \"#utility.yul\":562:563 */\n dup2\n /* \"#utility.yul\":558:567 */\n add\n /* \"#utility.yul\":553:567 */\n swap1\n pop\n /* \"#utility.yul\":518:970 */\n jump(tag_40)\n tag_42:\n /* \"#utility.yul\":522:536 */\n pop\n /* \"#utility.yul\":133:976 */\n pop\n pop\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":982:1392 */\n tag_48:\n /* \"#utility.yul\":1059:1064 */\n 0x00\n /* \"#utility.yul\":1084:1149 */\n tag_50\n /* \"#utility.yul\":1100:1148 */\n tag_51\n /* \"#utility.yul\":1141:1147 */\n dup5\n /* \"#utility.yul\":1100:1148 */\n tag_52\n jump\t// in\n tag_51:\n /* \"#utility.yul\":1084:1149 */\n tag_36\n jump\t// in\n tag_50:\n /* \"#utility.yul\":1075:1149 */\n swap1\n pop\n /* \"#utility.yul\":1172:1178 */\n dup3\n /* \"#utility.yul\":1165:1170 */\n dup2\n /* \"#utility.yul\":1158:1179 */\n mstore\n /* \"#utility.yul\":1210:1214 */\n 0x20\n /* \"#utility.yul\":1203:1208 */\n dup2\n /* \"#utility.yul\":1199:1215 */\n add\n /* \"#utility.yul\":1248:1251 */\n dup5\n /* \"#utility.yul\":1239:1245 */\n dup5\n /* \"#utility.yul\":1234:1237 */\n dup5\n /* \"#utility.yul\":1230:1246 */\n add\n /* \"#utility.yul\":1227:1252 */\n gt\n /* \"#utility.yul\":1224:1226 */\n iszero\n tag_53\n jumpi\n /* \"#utility.yul\":1255:1334 */\n tag_54\n tag_55\n jump\t// in\n tag_54:\n /* \"#utility.yul\":1224:1226 */\n tag_53:\n /* \"#utility.yul\":1345:1386 */\n tag_56\n /* \"#utility.yul\":1379:1385 */\n dup5\n /* \"#utility.yul\":1374:1377 */\n dup3\n /* \"#utility.yul\":1369:1372 */\n dup6\n /* \"#utility.yul\":1345:1386 */\n tag_57\n jump\t// in\n tag_56:\n /* \"#utility.yul\":1065:1392 */\n pop\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1398:1537 */\n tag_58:\n /* \"#utility.yul\":1444:1449 */\n 0x00\n /* \"#utility.yul\":1482:1488 */\n dup2\n /* \"#utility.yul\":1469:1489 */\n calldataload\n /* \"#utility.yul\":1460:1489 */\n swap1\n pop\n /* \"#utility.yul\":1498:1531 */\n tag_60\n /* \"#utility.yul\":1525:1530 */\n dup2\n /* \"#utility.yul\":1498:1531 */\n tag_61\n jump\t// in\n tag_60:\n /* \"#utility.yul\":1450:1537 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1558:1946 */\n tag_62:\n /* \"#utility.yul\":1638:1643 */\n 0x00\n /* \"#utility.yul\":1687:1690 */\n dup3\n /* \"#utility.yul\":1680:1684 */\n 0x1f\n /* \"#utility.yul\":1672:1678 */\n dup4\n /* \"#utility.yul\":1668:1685 */\n add\n /* \"#utility.yul\":1664:1691 */\n slt\n /* \"#utility.yul\":1654:1656 */\n tag_64\n jumpi\n /* \"#utility.yul\":1695:1774 */\n tag_65\n tag_45\n jump\t// in\n tag_65:\n /* \"#utility.yul\":1654:1656 */\n tag_64:\n /* \"#utility.yul\":1812:1818 */\n dup2\n /* \"#utility.yul\":1799:1819 */\n calldataload\n /* \"#utility.yul\":1837:1940 */\n tag_66\n /* \"#utility.yul\":1936:1939 */\n dup5\n /* \"#utility.yul\":1928:1934 */\n dup3\n /* \"#utility.yul\":1921:1925 */\n 0x20\n /* \"#utility.yul\":1913:1919 */\n dup7\n /* \"#utility.yul\":1909:1926 */\n add\n /* \"#utility.yul\":1837:1940 */\n tag_31\n jump\t// in\n tag_66:\n /* \"#utility.yul\":1828:1940 */\n swap2\n pop\n /* \"#utility.yul\":1644:1946 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1965:2303 */\n tag_47:\n /* \"#utility.yul\":2020:2025 */\n 0x00\n /* \"#utility.yul\":2069:2072 */\n dup3\n /* \"#utility.yul\":2062:2066 */\n 0x1f\n /* \"#utility.yul\":2054:2060 */\n dup4\n /* \"#utility.yul\":2050:2067 */\n add\n /* \"#utility.yul\":2046:2073 */\n slt\n /* \"#utility.yul\":2036:2038 */\n tag_68\n jumpi\n /* \"#utility.yul\":2077:2156 */\n tag_69\n tag_45\n jump\t// in\n tag_69:\n /* \"#utility.yul\":2036:2038 */\n tag_68:\n /* \"#utility.yul\":2194:2200 */\n dup2\n /* \"#utility.yul\":2181:2201 */\n calldataload\n /* \"#utility.yul\":2219:2297 */\n tag_70\n /* \"#utility.yul\":2293:2296 */\n dup5\n /* \"#utility.yul\":2285:2291 */\n dup3\n /* \"#utility.yul\":2278:2282 */\n 0x20\n /* \"#utility.yul\":2270:2276 */\n dup7\n /* \"#utility.yul\":2266:2283 */\n add\n /* \"#utility.yul\":2219:2297 */\n tag_48\n jump\t// in\n tag_70:\n /* \"#utility.yul\":2210:2297 */\n swap2\n pop\n /* \"#utility.yul\":2026:2303 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2345:3121 */\n tag_71:\n /* \"#utility.yul\":2422:2427 */\n 0x00\n /* \"#utility.yul\":2466:2470 */\n 0x40\n /* \"#utility.yul\":2454:2463 */\n dup3\n /* \"#utility.yul\":2449:2452 */\n dup5\n /* \"#utility.yul\":2445:2464 */\n sub\n /* \"#utility.yul\":2441:2471 */\n slt\n /* \"#utility.yul\":2438:2440 */\n iszero\n tag_73\n jumpi\n /* \"#utility.yul\":2474:2553 */\n tag_74\n tag_75\n jump\t// in\n tag_74:\n /* \"#utility.yul\":2438:2440 */\n tag_73:\n /* \"#utility.yul\":2573:2594 */\n tag_76\n /* \"#utility.yul\":2589:2593 */\n 0x40\n /* \"#utility.yul\":2573:2594 */\n tag_36\n jump\t// in\n tag_76:\n /* \"#utility.yul\":2564:2594 */\n swap1\n pop\n /* \"#utility.yul\":2656:2657 */\n 0x00\n /* \"#utility.yul\":2696:2743 */\n tag_77\n /* \"#utility.yul\":2739:2742 */\n dup5\n /* \"#utility.yul\":2730:2736 */\n dup3\n /* \"#utility.yul\":2719:2728 */\n dup6\n /* \"#utility.yul\":2715:2737 */\n add\n /* \"#utility.yul\":2696:2743 */\n tag_78\n jump\t// in\n tag_77:\n /* \"#utility.yul\":2689:2693 */\n 0x00\n /* \"#utility.yul\":2682:2687 */\n dup4\n /* \"#utility.yul\":2678:2694 */\n add\n /* \"#utility.yul\":2671:2744 */\n mstore\n /* \"#utility.yul\":2604:2755 */\n pop\n /* \"#utility.yul\":2846:2848 */\n 0x20\n /* \"#utility.yul\":2835:2844 */\n dup3\n /* \"#utility.yul\":2831:2849 */\n add\n /* \"#utility.yul\":2818:2850 */\n calldataload\n /* \"#utility.yul\":2877:2895 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2869:2875 */\n dup2\n /* \"#utility.yul\":2866:2896 */\n gt\n /* \"#utility.yul\":2863:2865 */\n iszero\n tag_79\n jumpi\n /* \"#utility.yul\":2899:2978 */\n tag_80\n tag_81\n jump\t// in\n tag_80:\n /* \"#utility.yul\":2863:2865 */\n tag_79:\n /* \"#utility.yul\":3019:3102 */\n tag_82\n /* \"#utility.yul\":3098:3101 */\n dup5\n /* \"#utility.yul\":3089:3095 */\n dup3\n /* \"#utility.yul\":3078:3087 */\n dup6\n /* \"#utility.yul\":3074:3096 */\n add\n /* \"#utility.yul\":3019:3102 */\n tag_62\n jump\t// in\n tag_82:\n /* \"#utility.yul\":3012:3016 */\n 0x20\n /* \"#utility.yul\":3005:3010 */\n dup4\n /* \"#utility.yul\":3001:3017 */\n add\n /* \"#utility.yul\":2994:3103 */\n mstore\n /* \"#utility.yul\":2765:3114 */\n pop\n /* \"#utility.yul\":2428:3121 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3127:3266 */\n tag_83:\n /* \"#utility.yul\":3173:3178 */\n 0x00\n /* \"#utility.yul\":3211:3217 */\n dup2\n /* \"#utility.yul\":3198:3218 */\n calldataload\n /* \"#utility.yul\":3189:3218 */\n swap1\n pop\n /* \"#utility.yul\":3227:3260 */\n tag_85\n /* \"#utility.yul\":3254:3259 */\n dup2\n /* \"#utility.yul\":3227:3260 */\n tag_86\n jump\t// in\n tag_85:\n /* \"#utility.yul\":3179:3266 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3272:3409 */\n tag_87:\n /* \"#utility.yul\":3317:3322 */\n 0x00\n /* \"#utility.yul\":3355:3361 */\n dup2\n /* \"#utility.yul\":3342:3362 */\n calldataload\n /* \"#utility.yul\":3333:3362 */\n swap1\n pop\n /* \"#utility.yul\":3371:3403 */\n tag_89\n /* \"#utility.yul\":3397:3402 */\n dup2\n /* \"#utility.yul\":3371:3403 */\n tag_90\n jump\t// in\n tag_89:\n /* \"#utility.yul\":3323:3409 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3415:3550 */\n tag_78:\n /* \"#utility.yul\":3459:3464 */\n 0x00\n /* \"#utility.yul\":3497:3503 */\n dup2\n /* \"#utility.yul\":3484:3504 */\n calldataload\n /* \"#utility.yul\":3475:3504 */\n swap1\n pop\n /* \"#utility.yul\":3513:3544 */\n tag_92\n /* \"#utility.yul\":3538:3543 */\n dup2\n /* \"#utility.yul\":3513:3544 */\n tag_93\n jump\t// in\n tag_92:\n /* \"#utility.yul\":3465:3550 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3556:4535 */\n tag_16:\n /* \"#utility.yul\":3669:3675 */\n 0x00\n /* \"#utility.yul\":3677:3683 */\n dup1\n /* \"#utility.yul\":3685:3691 */\n 0x00\n /* \"#utility.yul\":3693:3699 */\n dup1\n /* \"#utility.yul\":3742:3745 */\n 0x80\n /* \"#utility.yul\":3730:3739 */\n dup6\n /* \"#utility.yul\":3721:3728 */\n dup8\n /* \"#utility.yul\":3717:3740 */\n sub\n /* \"#utility.yul\":3713:3746 */\n slt\n /* \"#utility.yul\":3710:3712 */\n iszero\n tag_95\n jumpi\n /* \"#utility.yul\":3749:3828 */\n tag_96\n tag_97\n jump\t// in\n tag_96:\n /* \"#utility.yul\":3710:3712 */\n tag_95:\n /* \"#utility.yul\":3869:3870 */\n 0x00\n /* \"#utility.yul\":3894:3947 */\n tag_98\n /* \"#utility.yul\":3939:3946 */\n dup8\n /* \"#utility.yul\":3930:3936 */\n dup3\n /* \"#utility.yul\":3919:3928 */\n dup9\n /* \"#utility.yul\":3915:3937 */\n add\n /* \"#utility.yul\":3894:3947 */\n tag_58\n jump\t// in\n tag_98:\n /* \"#utility.yul\":3884:3947 */\n swap5\n pop\n /* \"#utility.yul\":3840:3957 */\n pop\n /* \"#utility.yul\":3996:3998 */\n 0x20\n /* \"#utility.yul\":4022:4075 */\n tag_99\n /* \"#utility.yul\":4067:4074 */\n dup8\n /* \"#utility.yul\":4058:4064 */\n dup3\n /* \"#utility.yul\":4047:4056 */\n dup9\n /* \"#utility.yul\":4043:4065 */\n add\n /* \"#utility.yul\":4022:4075 */\n tag_83\n jump\t// in\n tag_99:\n /* \"#utility.yul\":4012:4075 */\n swap4\n pop\n /* \"#utility.yul\":3967:4085 */\n pop\n /* \"#utility.yul\":4152:4154 */\n 0x40\n /* \"#utility.yul\":4141:4150 */\n dup6\n /* \"#utility.yul\":4137:4155 */\n add\n /* \"#utility.yul\":4124:4156 */\n calldataload\n /* \"#utility.yul\":4183:4201 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4175:4181 */\n dup2\n /* \"#utility.yul\":4172:4202 */\n gt\n /* \"#utility.yul\":4169:4171 */\n iszero\n tag_100\n jumpi\n /* \"#utility.yul\":4205:4284 */\n tag_101\n tag_102\n jump\t// in\n tag_101:\n /* \"#utility.yul\":4169:4171 */\n tag_100:\n /* \"#utility.yul\":4310:4391 */\n tag_103\n /* \"#utility.yul\":4383:4390 */\n dup8\n /* \"#utility.yul\":4374:4380 */\n dup3\n /* \"#utility.yul\":4363:4372 */\n dup9\n /* \"#utility.yul\":4359:4381 */\n add\n /* \"#utility.yul\":4310:4391 */\n tag_71\n jump\t// in\n tag_103:\n /* \"#utility.yul\":4300:4391 */\n swap3\n pop\n /* \"#utility.yul\":4095:4401 */\n pop\n /* \"#utility.yul\":4440:4442 */\n 0x60\n /* \"#utility.yul\":4466:4518 */\n tag_104\n /* \"#utility.yul\":4510:4517 */\n dup8\n /* \"#utility.yul\":4501:4507 */\n dup3\n /* \"#utility.yul\":4490:4499 */\n dup9\n /* \"#utility.yul\":4486:4508 */\n add\n /* \"#utility.yul\":4466:4518 */\n tag_87\n jump\t// in\n tag_104:\n /* \"#utility.yul\":4456:4518 */\n swap2\n pop\n /* \"#utility.yul\":4411:4528 */\n pop\n /* \"#utility.yul\":3700:4535 */\n swap3\n swap6\n swap2\n swap5\n pop\n swap3\n pop\n jump\t// out\n /* \"#utility.yul\":4541:5736 */\n tag_12:\n /* \"#utility.yul\":4682:4688 */\n 0x00\n /* \"#utility.yul\":4690:4696 */\n dup1\n /* \"#utility.yul\":4698:4704 */\n 0x00\n /* \"#utility.yul\":4706:4712 */\n dup1\n /* \"#utility.yul\":4755:4758 */\n 0x80\n /* \"#utility.yul\":4743:4752 */\n dup6\n /* \"#utility.yul\":4734:4741 */\n dup8\n /* \"#utility.yul\":4730:4753 */\n sub\n /* \"#utility.yul\":4726:4759 */\n slt\n /* \"#utility.yul\":4723:4725 */\n iszero\n tag_106\n jumpi\n /* \"#utility.yul\":4762:4841 */\n tag_107\n tag_97\n jump\t// in\n tag_107:\n /* \"#utility.yul\":4723:4725 */\n tag_106:\n /* \"#utility.yul\":4910:4911 */\n 0x00\n /* \"#utility.yul\":4899:4908 */\n dup6\n /* \"#utility.yul\":4895:4912 */\n add\n /* \"#utility.yul\":4882:4913 */\n calldataload\n /* \"#utility.yul\":4940:4958 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4932:4938 */\n dup2\n /* \"#utility.yul\":4929:4959 */\n gt\n /* \"#utility.yul\":4926:4928 */\n iszero\n tag_108\n jumpi\n /* \"#utility.yul\":4962:5041 */\n tag_109\n tag_102\n jump\t// in\n tag_109:\n /* \"#utility.yul\":4926:4928 */\n tag_108:\n /* \"#utility.yul\":5067:5148 */\n tag_110\n /* \"#utility.yul\":5140:5147 */\n dup8\n /* \"#utility.yul\":5131:5137 */\n dup3\n /* \"#utility.yul\":5120:5129 */\n dup9\n /* \"#utility.yul\":5116:5138 */\n add\n /* \"#utility.yul\":5067:5148 */\n tag_71\n jump\t// in\n tag_110:\n /* \"#utility.yul\":5057:5148 */\n swap5\n pop\n /* \"#utility.yul\":4853:5158 */\n pop\n /* \"#utility.yul\":5197:5199 */\n 0x20\n /* \"#utility.yul\":5223:5276 */\n tag_111\n /* \"#utility.yul\":5268:5275 */\n dup8\n /* \"#utility.yul\":5259:5265 */\n dup3\n /* \"#utility.yul\":5248:5257 */\n dup9\n /* \"#utility.yul\":5244:5266 */\n add\n /* \"#utility.yul\":5223:5276 */\n tag_83\n jump\t// in\n tag_111:\n /* \"#utility.yul\":5213:5276 */\n swap4\n pop\n /* \"#utility.yul\":5168:5286 */\n pop\n /* \"#utility.yul\":5353:5355 */\n 0x40\n /* \"#utility.yul\":5342:5351 */\n dup6\n /* \"#utility.yul\":5338:5356 */\n add\n /* \"#utility.yul\":5325:5357 */\n calldataload\n /* \"#utility.yul\":5384:5402 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5376:5382 */\n dup2\n /* \"#utility.yul\":5373:5403 */\n gt\n /* \"#utility.yul\":5370:5372 */\n iszero\n tag_112\n jumpi\n /* \"#utility.yul\":5406:5485 */\n tag_113\n tag_102\n jump\t// in\n tag_113:\n /* \"#utility.yul\":5370:5372 */\n tag_112:\n /* \"#utility.yul\":5511:5592 */\n tag_114\n /* \"#utility.yul\":5584:5591 */\n dup8\n /* \"#utility.yul\":5575:5581 */\n dup3\n /* \"#utility.yul\":5564:5573 */\n dup9\n /* \"#utility.yul\":5560:5582 */\n add\n /* \"#utility.yul\":5511:5592 */\n tag_71\n jump\t// in\n tag_114:\n /* \"#utility.yul\":5501:5592 */\n swap3\n pop\n /* \"#utility.yul\":5296:5602 */\n pop\n /* \"#utility.yul\":5641:5643 */\n 0x60\n /* \"#utility.yul\":5667:5719 */\n tag_115\n /* \"#utility.yul\":5711:5718 */\n dup8\n /* \"#utility.yul\":5702:5708 */\n dup3\n /* \"#utility.yul\":5691:5700 */\n dup9\n /* \"#utility.yul\":5687:5709 */\n add\n /* \"#utility.yul\":5667:5719 */\n tag_87\n jump\t// in\n tag_115:\n /* \"#utility.yul\":5657:5719 */\n swap2\n pop\n /* \"#utility.yul\":5612:5729 */\n pop\n /* \"#utility.yul\":4713:5736 */\n swap3\n swap6\n swap2\n swap5\n pop\n swap3\n pop\n jump\t// out\n /* \"#utility.yul\":5742:5934 */\n tag_116:\n /* \"#utility.yul\":5829:5839 */\n 0x00\n /* \"#utility.yul\":5864:5928 */\n tag_118\n /* \"#utility.yul\":5924:5927 */\n dup4\n /* \"#utility.yul\":5916:5922 */\n dup4\n /* \"#utility.yul\":5864:5928 */\n tag_119\n jump\t// in\n tag_118:\n /* \"#utility.yul\":5850:5928 */\n swap1\n pop\n /* \"#utility.yul\":5840:5934 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5940:6058 */\n tag_120:\n /* \"#utility.yul\":6027:6051 */\n tag_122\n /* \"#utility.yul\":6045:6050 */\n dup2\n /* \"#utility.yul\":6027:6051 */\n tag_123\n jump\t// in\n tag_122:\n /* \"#utility.yul\":6022:6025 */\n dup3\n /* \"#utility.yul\":6015:6052 */\n mstore\n /* \"#utility.yul\":6005:6058 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6090:7053 */\n tag_124:\n /* \"#utility.yul\":6217:6220 */\n 0x00\n /* \"#utility.yul\":6246:6309 */\n tag_126\n /* \"#utility.yul\":6303:6308 */\n dup3\n /* \"#utility.yul\":6246:6309 */\n tag_127\n jump\t// in\n tag_126:\n /* \"#utility.yul\":6325:6410 */\n tag_128\n /* \"#utility.yul\":6403:6409 */\n dup2\n /* \"#utility.yul\":6398:6401 */\n dup6\n /* \"#utility.yul\":6325:6410 */\n tag_129\n jump\t// in\n tag_128:\n /* \"#utility.yul\":6318:6410 */\n swap4\n pop\n /* \"#utility.yul\":6436:6439 */\n dup4\n /* \"#utility.yul\":6481:6485 */\n 0x20\n /* \"#utility.yul\":6473:6479 */\n dup3\n /* \"#utility.yul\":6469:6486 */\n mul\n /* \"#utility.yul\":6464:6467 */\n dup6\n /* \"#utility.yul\":6460:6487 */\n add\n /* \"#utility.yul\":6511:6576 */\n tag_130\n /* \"#utility.yul\":6570:6575 */\n dup6\n /* \"#utility.yul\":6511:6576 */\n tag_131\n jump\t// in\n tag_130:\n /* \"#utility.yul\":6599:6606 */\n dup1\n /* \"#utility.yul\":6630:6631 */\n 0x00\n /* \"#utility.yul\":6615:7008 */\n tag_132:\n /* \"#utility.yul\":6640:6646 */\n dup6\n /* \"#utility.yul\":6637:6638 */\n dup2\n /* \"#utility.yul\":6634:6647 */\n lt\n /* \"#utility.yul\":6615:7008 */\n iszero\n tag_134\n jumpi\n /* \"#utility.yul\":6711:6720 */\n dup5\n /* \"#utility.yul\":6705:6709 */\n dup5\n /* \"#utility.yul\":6701:6721 */\n sub\n /* \"#utility.yul\":6696:6699 */\n dup10\n /* \"#utility.yul\":6689:6722 */\n mstore\n /* \"#utility.yul\":6762:6768 */\n dup2\n /* \"#utility.yul\":6756:6769 */\n mload\n /* \"#utility.yul\":6790:6872 */\n tag_135\n /* \"#utility.yul\":6867:6871 */\n dup6\n /* \"#utility.yul\":6852:6865 */\n dup3\n /* \"#utility.yul\":6790:6872 */\n tag_116\n jump\t// in\n tag_135:\n /* \"#utility.yul\":6782:6872 */\n swap5\n pop\n /* \"#utility.yul\":6895:6964 */\n tag_136\n /* \"#utility.yul\":6957:6963 */\n dup4\n /* \"#utility.yul\":6895:6964 */\n tag_137\n jump\t// in\n tag_136:\n /* \"#utility.yul\":6885:6964 */\n swap3\n pop\n /* \"#utility.yul\":6993:6997 */\n 0x20\n /* \"#utility.yul\":6988:6991 */\n dup11\n /* \"#utility.yul\":6984:6998 */\n add\n /* \"#utility.yul\":6977:6998 */\n swap10\n pop\n /* \"#utility.yul\":6675:7008 */\n pop\n /* \"#utility.yul\":6662:6663 */\n 0x01\n /* \"#utility.yul\":6659:6660 */\n dup2\n /* \"#utility.yul\":6655:6664 */\n add\n /* \"#utility.yul\":6650:6664 */\n swap1\n pop\n /* \"#utility.yul\":6615:7008 */\n jump(tag_132)\n tag_134:\n /* \"#utility.yul\":6619:6633 */\n pop\n /* \"#utility.yul\":7024:7028 */\n dup3\n /* \"#utility.yul\":7017:7028 */\n swap8\n pop\n /* \"#utility.yul\":7044:7047 */\n dup8\n /* \"#utility.yul\":7037:7047 */\n swap6\n pop\n /* \"#utility.yul\":6222:7053 */\n pop\n pop\n pop\n pop\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7059:7399 */\n tag_119:\n /* \"#utility.yul\":7135:7138 */\n 0x00\n /* \"#utility.yul\":7163:7201 */\n tag_139\n /* \"#utility.yul\":7195:7200 */\n dup3\n /* \"#utility.yul\":7163:7201 */\n tag_140\n jump\t// in\n tag_139:\n /* \"#utility.yul\":7217:7277 */\n tag_141\n /* \"#utility.yul\":7270:7276 */\n dup2\n /* \"#utility.yul\":7265:7268 */\n dup6\n /* \"#utility.yul\":7217:7277 */\n tag_142\n jump\t// in\n tag_141:\n /* \"#utility.yul\":7210:7277 */\n swap4\n pop\n /* \"#utility.yul\":7286:7338 */\n tag_143\n /* \"#utility.yul\":7331:7337 */\n dup2\n /* \"#utility.yul\":7326:7329 */\n dup6\n /* \"#utility.yul\":7319:7323 */\n 0x20\n /* \"#utility.yul\":7312:7317 */\n dup7\n /* \"#utility.yul\":7308:7324 */\n add\n /* \"#utility.yul\":7286:7338 */\n tag_144\n jump\t// in\n tag_143:\n /* \"#utility.yul\":7363:7392 */\n tag_145\n /* \"#utility.yul\":7385:7391 */\n dup2\n /* \"#utility.yul\":7363:7392 */\n tag_146\n jump\t// in\n tag_145:\n /* \"#utility.yul\":7358:7361 */\n dup5\n /* \"#utility.yul\":7354:7393 */\n add\n /* \"#utility.yul\":7347:7393 */\n swap2\n pop\n /* \"#utility.yul\":7139:7399 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7405:7564 */\n tag_147:\n /* \"#utility.yul\":7506:7557 */\n tag_149\n /* \"#utility.yul\":7551:7556 */\n dup2\n /* \"#utility.yul\":7506:7557 */\n tag_150\n jump\t// in\n tag_149:\n /* \"#utility.yul\":7501:7504 */\n dup3\n /* \"#utility.yul\":7494:7558 */\n mstore\n /* \"#utility.yul\":7484:7564 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7638:8301 */\n tag_151:\n /* \"#utility.yul\":7763:7766 */\n 0x00\n /* \"#utility.yul\":7799:7803 */\n 0x40\n /* \"#utility.yul\":7794:7797 */\n dup4\n /* \"#utility.yul\":7790:7804 */\n add\n /* \"#utility.yul\":7889:7893 */\n 0x00\n /* \"#utility.yul\":7882:7887 */\n dup4\n /* \"#utility.yul\":7878:7894 */\n add\n /* \"#utility.yul\":7872:7895 */\n mload\n /* \"#utility.yul\":7908:7967 */\n tag_153\n /* \"#utility.yul\":7961:7965 */\n 0x00\n /* \"#utility.yul\":7956:7959 */\n dup7\n /* \"#utility.yul\":7952:7966 */\n add\n /* \"#utility.yul\":7938:7950 */\n dup3\n /* \"#utility.yul\":7908:7967 */\n tag_154\n jump\t// in\n tag_153:\n /* \"#utility.yul\":7814:7977 */\n pop\n /* \"#utility.yul\":8063:8067 */\n 0x20\n /* \"#utility.yul\":8056:8061 */\n dup4\n /* \"#utility.yul\":8052:8068 */\n add\n /* \"#utility.yul\":8046:8069 */\n mload\n /* \"#utility.yul\":8116:8119 */\n dup5\n /* \"#utility.yul\":8110:8114 */\n dup3\n /* \"#utility.yul\":8106:8120 */\n sub\n /* \"#utility.yul\":8099:8103 */\n 0x20\n /* \"#utility.yul\":8094:8097 */\n dup7\n /* \"#utility.yul\":8090:8104 */\n add\n /* \"#utility.yul\":8083:8121 */\n mstore\n /* \"#utility.yul\":8142:8263 */\n tag_155\n /* \"#utility.yul\":8258:8262 */\n dup3\n /* \"#utility.yul\":8244:8256 */\n dup3\n /* \"#utility.yul\":8142:8263 */\n tag_124\n jump\t// in\n tag_155:\n /* \"#utility.yul\":8134:8263 */\n swap2\n pop\n /* \"#utility.yul\":7987:8274 */\n pop\n /* \"#utility.yul\":8291:8295 */\n dup1\n /* \"#utility.yul\":8284:8295 */\n swap2\n pop\n /* \"#utility.yul\":7768:8301 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8307:8425 */\n tag_156:\n /* \"#utility.yul\":8394:8418 */\n tag_158\n /* \"#utility.yul\":8412:8417 */\n dup2\n /* \"#utility.yul\":8394:8418 */\n tag_159\n jump\t// in\n tag_158:\n /* \"#utility.yul\":8389:8392 */\n dup3\n /* \"#utility.yul\":8382:8419 */\n mstore\n /* \"#utility.yul\":8372:8425 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8431:8546 */\n tag_160:\n /* \"#utility.yul\":8516:8539 */\n tag_162\n /* \"#utility.yul\":8533:8538 */\n dup2\n /* \"#utility.yul\":8516:8539 */\n tag_163\n jump\t// in\n tag_162:\n /* \"#utility.yul\":8511:8514 */\n dup3\n /* \"#utility.yul\":8504:8540 */\n mstore\n /* \"#utility.yul\":8494:8546 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8552:8654 */\n tag_154:\n /* \"#utility.yul\":8625:8647 */\n tag_165\n /* \"#utility.yul\":8641:8646 */\n dup2\n /* \"#utility.yul\":8625:8647 */\n tag_166\n jump\t// in\n tag_165:\n /* \"#utility.yul\":8620:8623 */\n dup3\n /* \"#utility.yul\":8613:8648 */\n mstore\n /* \"#utility.yul\":8603:8654 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8660:9372 */\n tag_26:\n /* \"#utility.yul\":8891:8895 */\n 0x00\n /* \"#utility.yul\":8929:8932 */\n 0x80\n /* \"#utility.yul\":8918:8927 */\n dup3\n /* \"#utility.yul\":8914:8933 */\n add\n /* \"#utility.yul\":8906:8933 */\n swap1\n pop\n /* \"#utility.yul\":8943:9014 */\n tag_168\n /* \"#utility.yul\":9011:9012 */\n 0x00\n /* \"#utility.yul\":9000:9009 */\n dup4\n /* \"#utility.yul\":8996:9013 */\n add\n /* \"#utility.yul\":8987:8993 */\n dup8\n /* \"#utility.yul\":8943:9014 */\n tag_120\n jump\t// in\n tag_168:\n /* \"#utility.yul\":9024:9096 */\n tag_169\n /* \"#utility.yul\":9092:9094 */\n 0x20\n /* \"#utility.yul\":9081:9090 */\n dup4\n /* \"#utility.yul\":9077:9095 */\n add\n /* \"#utility.yul\":9068:9074 */\n dup7\n /* \"#utility.yul\":9024:9096 */\n tag_156\n jump\t// in\n tag_169:\n /* \"#utility.yul\":9143:9152 */\n dup2\n /* \"#utility.yul\":9137:9141 */\n dup2\n /* \"#utility.yul\":9133:9153 */\n sub\n /* \"#utility.yul\":9128:9130 */\n 0x40\n /* \"#utility.yul\":9117:9126 */\n dup4\n /* \"#utility.yul\":9113:9131 */\n add\n /* \"#utility.yul\":9106:9154 */\n mstore\n /* \"#utility.yul\":9171:9285 */\n tag_170\n /* \"#utility.yul\":9280:9284 */\n dup2\n /* \"#utility.yul\":9271:9277 */\n dup6\n /* \"#utility.yul\":9171:9285 */\n tag_151\n jump\t// in\n tag_170:\n /* \"#utility.yul\":9163:9285 */\n swap1\n pop\n /* \"#utility.yul\":9295:9365 */\n tag_171\n /* \"#utility.yul\":9361:9363 */\n 0x60\n /* \"#utility.yul\":9350:9359 */\n dup4\n /* \"#utility.yul\":9346:9364 */\n add\n /* \"#utility.yul\":9337:9343 */\n dup5\n /* \"#utility.yul\":9295:9365 */\n tag_160\n jump\t// in\n tag_171:\n /* \"#utility.yul\":8896:9372 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9378:9628 */\n tag_9:\n /* \"#utility.yul\":9485:9489 */\n 0x00\n /* \"#utility.yul\":9523:9525 */\n 0x20\n /* \"#utility.yul\":9512:9521 */\n dup3\n /* \"#utility.yul\":9508:9526 */\n add\n /* \"#utility.yul\":9500:9526 */\n swap1\n pop\n /* \"#utility.yul\":9536:9621 */\n tag_173\n /* \"#utility.yul\":9618:9619 */\n 0x00\n /* \"#utility.yul\":9607:9616 */\n dup4\n /* \"#utility.yul\":9603:9620 */\n add\n /* \"#utility.yul\":9594:9600 */\n dup5\n /* \"#utility.yul\":9536:9621 */\n tag_147\n jump\t// in\n tag_173:\n /* \"#utility.yul\":9490:9628 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9634:10509 */\n tag_20:\n /* \"#utility.yul\":9921:9925 */\n 0x00\n /* \"#utility.yul\":9959:9962 */\n 0x80\n /* \"#utility.yul\":9948:9957 */\n dup3\n /* \"#utility.yul\":9944:9963 */\n add\n /* \"#utility.yul\":9936:9963 */\n swap1\n pop\n /* \"#utility.yul\":10009:10018 */\n dup2\n /* \"#utility.yul\":10003:10007 */\n dup2\n /* \"#utility.yul\":9999:10019 */\n sub\n /* \"#utility.yul\":9995:9996 */\n 0x00\n /* \"#utility.yul\":9984:9993 */\n dup4\n /* \"#utility.yul\":9980:9997 */\n add\n /* \"#utility.yul\":9973:10020 */\n mstore\n /* \"#utility.yul\":10037:10151 */\n tag_175\n /* \"#utility.yul\":10146:10150 */\n dup2\n /* \"#utility.yul\":10137:10143 */\n dup8\n /* \"#utility.yul\":10037:10151 */\n tag_151\n jump\t// in\n tag_175:\n /* \"#utility.yul\":10029:10151 */\n swap1\n pop\n /* \"#utility.yul\":10161:10233 */\n tag_176\n /* \"#utility.yul\":10229:10231 */\n 0x20\n /* \"#utility.yul\":10218:10227 */\n dup4\n /* \"#utility.yul\":10214:10232 */\n add\n /* \"#utility.yul\":10205:10211 */\n dup7\n /* \"#utility.yul\":10161:10233 */\n tag_156\n jump\t// in\n tag_176:\n /* \"#utility.yul\":10280:10289 */\n dup2\n /* \"#utility.yul\":10274:10278 */\n dup2\n /* \"#utility.yul\":10270:10290 */\n sub\n /* \"#utility.yul\":10265:10267 */\n 0x40\n /* \"#utility.yul\":10254:10263 */\n dup4\n /* \"#utility.yul\":10250:10268 */\n add\n /* \"#utility.yul\":10243:10291 */\n mstore\n /* \"#utility.yul\":10308:10422 */\n tag_177\n /* \"#utility.yul\":10417:10421 */\n dup2\n /* \"#utility.yul\":10408:10414 */\n dup6\n /* \"#utility.yul\":10308:10422 */\n tag_151\n jump\t// in\n tag_177:\n /* \"#utility.yul\":10300:10422 */\n swap1\n pop\n /* \"#utility.yul\":10432:10502 */\n tag_178\n /* \"#utility.yul\":10498:10500 */\n 0x60\n /* \"#utility.yul\":10487:10496 */\n dup4\n /* \"#utility.yul\":10483:10501 */\n add\n /* \"#utility.yul\":10474:10480 */\n dup5\n /* \"#utility.yul\":10432:10502 */\n tag_160\n jump\t// in\n tag_178:\n /* \"#utility.yul\":9926:10509 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":10515:10644 */\n tag_36:\n /* \"#utility.yul\":10549:10555 */\n 0x00\n /* \"#utility.yul\":10576:10596 */\n tag_180\n tag_181\n jump\t// in\n tag_180:\n /* \"#utility.yul\":10566:10596 */\n swap1\n pop\n /* \"#utility.yul\":10605:10638 */\n tag_182\n /* \"#utility.yul\":10633:10637 */\n dup3\n /* \"#utility.yul\":10625:10631 */\n dup3\n /* \"#utility.yul\":10605:10638 */\n tag_183\n jump\t// in\n tag_182:\n /* \"#utility.yul\":10556:10644 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":10650:10725 */\n tag_181:\n /* \"#utility.yul\":10683:10689 */\n 0x00\n /* \"#utility.yul\":10716:10718 */\n 0x40\n /* \"#utility.yul\":10710:10719 */\n mload\n /* \"#utility.yul\":10700:10719 */\n swap1\n pop\n /* \"#utility.yul\":10690:10725 */\n swap1\n jump\t// out\n /* \"#utility.yul\":10731:11051 */\n tag_35:\n /* \"#utility.yul\":10817:10821 */\n 0x00\n /* \"#utility.yul\":10907:10925 */\n 0xffffffffffffffff\n /* \"#utility.yul\":10899:10905 */\n dup3\n /* \"#utility.yul\":10896:10926 */\n gt\n /* \"#utility.yul\":10893:10895 */\n iszero\n tag_186\n jumpi\n /* \"#utility.yul\":10929:10947 */\n tag_187\n tag_188\n jump\t// in\n tag_187:\n /* \"#utility.yul\":10893:10895 */\n tag_186:\n /* \"#utility.yul\":10979:10983 */\n 0x20\n /* \"#utility.yul\":10971:10977 */\n dup3\n /* \"#utility.yul\":10967:10984 */\n mul\n /* \"#utility.yul\":10959:10984 */\n swap1\n pop\n /* \"#utility.yul\":11039:11043 */\n 0x20\n /* \"#utility.yul\":11033:11037 */\n dup2\n /* \"#utility.yul\":11029:11044 */\n add\n /* \"#utility.yul\":11021:11044 */\n swap1\n pop\n /* \"#utility.yul\":10822:11051 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11057:11364 */\n tag_52:\n /* \"#utility.yul\":11118:11122 */\n 0x00\n /* \"#utility.yul\":11208:11226 */\n 0xffffffffffffffff\n /* \"#utility.yul\":11200:11206 */\n dup3\n /* \"#utility.yul\":11197:11227 */\n gt\n /* \"#utility.yul\":11194:11196 */\n iszero\n tag_190\n jumpi\n /* \"#utility.yul\":11230:11248 */\n tag_191\n tag_188\n jump\t// in\n tag_191:\n /* \"#utility.yul\":11194:11196 */\n tag_190:\n /* \"#utility.yul\":11268:11297 */\n tag_192\n /* \"#utility.yul\":11290:11296 */\n dup3\n /* \"#utility.yul\":11268:11297 */\n tag_146\n jump\t// in\n tag_192:\n /* \"#utility.yul\":11260:11297 */\n swap1\n pop\n /* \"#utility.yul\":11352:11356 */\n 0x20\n /* \"#utility.yul\":11346:11350 */\n dup2\n /* \"#utility.yul\":11342:11357 */\n add\n /* \"#utility.yul\":11334:11357 */\n swap1\n pop\n /* \"#utility.yul\":11123:11364 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11370:11511 */\n tag_131:\n /* \"#utility.yul\":11446:11450 */\n 0x00\n /* \"#utility.yul\":11469:11472 */\n dup2\n /* \"#utility.yul\":11461:11472 */\n swap1\n pop\n /* \"#utility.yul\":11499:11503 */\n 0x20\n /* \"#utility.yul\":11494:11497 */\n dup3\n /* \"#utility.yul\":11490:11504 */\n add\n /* \"#utility.yul\":11482:11504 */\n swap1\n pop\n /* \"#utility.yul\":11451:11511 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11517:11640 */\n tag_127:\n /* \"#utility.yul\":11593:11599 */\n 0x00\n /* \"#utility.yul\":11627:11632 */\n dup2\n /* \"#utility.yul\":11621:11633 */\n mload\n /* \"#utility.yul\":11611:11633 */\n swap1\n pop\n /* \"#utility.yul\":11600:11640 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11646:11744 */\n tag_140:\n /* \"#utility.yul\":11697:11703 */\n 0x00\n /* \"#utility.yul\":11731:11736 */\n dup2\n /* \"#utility.yul\":11725:11737 */\n mload\n /* \"#utility.yul\":11715:11737 */\n swap1\n pop\n /* \"#utility.yul\":11704:11744 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11750:11872 */\n tag_137:\n /* \"#utility.yul\":11829:11833 */\n 0x00\n /* \"#utility.yul\":11861:11865 */\n 0x20\n /* \"#utility.yul\":11856:11859 */\n dup3\n /* \"#utility.yul\":11852:11866 */\n add\n /* \"#utility.yul\":11844:11866 */\n swap1\n pop\n /* \"#utility.yul\":11834:11872 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11878:12061 */\n tag_129:\n /* \"#utility.yul\":11976:11987 */\n 0x00\n /* \"#utility.yul\":12010:12016 */\n dup3\n /* \"#utility.yul\":12005:12008 */\n dup3\n /* \"#utility.yul\":11998:12017 */\n mstore\n /* \"#utility.yul\":12050:12054 */\n 0x20\n /* \"#utility.yul\":12045:12048 */\n dup3\n /* \"#utility.yul\":12041:12055 */\n add\n /* \"#utility.yul\":12026:12055 */\n swap1\n pop\n /* \"#utility.yul\":11988:12061 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12067:12225 */\n tag_142:\n /* \"#utility.yul\":12140:12151 */\n 0x00\n /* \"#utility.yul\":12174:12180 */\n dup3\n /* \"#utility.yul\":12169:12172 */\n dup3\n /* \"#utility.yul\":12162:12181 */\n mstore\n /* \"#utility.yul\":12214:12218 */\n 0x20\n /* \"#utility.yul\":12209:12212 */\n dup3\n /* \"#utility.yul\":12205:12219 */\n add\n /* \"#utility.yul\":12190:12219 */\n swap1\n pop\n /* \"#utility.yul\":12152:12225 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12231:12327 */\n tag_123:\n /* \"#utility.yul\":12268:12275 */\n 0x00\n /* \"#utility.yul\":12297:12321 */\n tag_200\n /* \"#utility.yul\":12315:12320 */\n dup3\n /* \"#utility.yul\":12297:12321 */\n tag_201\n jump\t// in\n tag_200:\n /* \"#utility.yul\":12286:12321 */\n swap1\n pop\n /* \"#utility.yul\":12276:12327 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12333:12459 */\n tag_201:\n /* \"#utility.yul\":12370:12377 */\n 0x00\n /* \"#utility.yul\":12410:12452 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":12403:12408 */\n dup3\n /* \"#utility.yul\":12399:12453 */\n and\n /* \"#utility.yul\":12388:12453 */\n swap1\n pop\n /* \"#utility.yul\":12378:12459 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12465:12542 */\n tag_159:\n /* \"#utility.yul\":12502:12509 */\n 0x00\n /* \"#utility.yul\":12531:12536 */\n dup2\n /* \"#utility.yul\":12520:12536 */\n swap1\n pop\n /* \"#utility.yul\":12510:12542 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12548:12649 */\n tag_163:\n /* \"#utility.yul\":12584:12591 */\n 0x00\n /* \"#utility.yul\":12624:12642 */\n 0xffffffffffffffff\n /* \"#utility.yul\":12617:12622 */\n dup3\n /* \"#utility.yul\":12613:12643 */\n and\n /* \"#utility.yul\":12602:12643 */\n swap1\n pop\n /* \"#utility.yul\":12592:12649 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12655:12741 */\n tag_166:\n /* \"#utility.yul\":12690:12697 */\n 0x00\n /* \"#utility.yul\":12730:12734 */\n 0xff\n /* \"#utility.yul\":12723:12728 */\n dup3\n /* \"#utility.yul\":12719:12735 */\n and\n /* \"#utility.yul\":12708:12735 */\n swap1\n pop\n /* \"#utility.yul\":12698:12741 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12747:12901 */\n tag_150:\n /* \"#utility.yul\":12811:12820 */\n 0x00\n /* \"#utility.yul\":12844:12895 */\n tag_207\n /* \"#utility.yul\":12889:12894 */\n dup3\n /* \"#utility.yul\":12844:12895 */\n tag_208\n jump\t// in\n tag_207:\n /* \"#utility.yul\":12831:12895 */\n swap1\n pop\n /* \"#utility.yul\":12821:12901 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12907:13034 */\n tag_208:\n /* \"#utility.yul\":12971:12980 */\n 0x00\n /* \"#utility.yul\":13004:13028 */\n tag_210\n /* \"#utility.yul\":13022:13027 */\n dup3\n /* \"#utility.yul\":13004:13028 */\n tag_201\n jump\t// in\n tag_210:\n /* \"#utility.yul\":12991:13028 */\n swap1\n pop\n /* \"#utility.yul\":12981:13034 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":13040:13194 */\n tag_57:\n /* \"#utility.yul\":13124:13130 */\n dup3\n /* \"#utility.yul\":13119:13122 */\n dup2\n /* \"#utility.yul\":13114:13117 */\n dup4\n /* \"#utility.yul\":13101:13131 */\n calldatacopy\n /* \"#utility.yul\":13186:13187 */\n 0x00\n /* \"#utility.yul\":13177:13183 */\n dup4\n /* \"#utility.yul\":13172:13175 */\n dup4\n /* \"#utility.yul\":13168:13184 */\n add\n /* \"#utility.yul\":13161:13188 */\n mstore\n /* \"#utility.yul\":13091:13194 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":13200:13507 */\n tag_144:\n /* \"#utility.yul\":13268:13269 */\n 0x00\n /* \"#utility.yul\":13278:13391 */\n tag_213:\n /* \"#utility.yul\":13292:13298 */\n dup4\n /* \"#utility.yul\":13289:13290 */\n dup2\n /* \"#utility.yul\":13286:13299 */\n lt\n /* \"#utility.yul\":13278:13391 */\n iszero\n tag_215\n jumpi\n /* \"#utility.yul\":13377:13378 */\n dup1\n /* \"#utility.yul\":13372:13375 */\n dup3\n /* \"#utility.yul\":13368:13379 */\n add\n /* \"#utility.yul\":13362:13380 */\n mload\n /* \"#utility.yul\":13358:13359 */\n dup2\n /* \"#utility.yul\":13353:13356 */\n dup5\n /* \"#utility.yul\":13349:13360 */\n add\n /* \"#utility.yul\":13342:13381 */\n mstore\n /* \"#utility.yul\":13314:13316 */\n 0x20\n /* \"#utility.yul\":13311:13312 */\n dup2\n /* \"#utility.yul\":13307:13317 */\n add\n /* \"#utility.yul\":13302:13317 */\n swap1\n pop\n /* \"#utility.yul\":13278:13391 */\n jump(tag_213)\n tag_215:\n /* \"#utility.yul\":13409:13415 */\n dup4\n /* \"#utility.yul\":13406:13407 */\n dup2\n /* \"#utility.yul\":13403:13416 */\n gt\n /* \"#utility.yul\":13400:13402 */\n iszero\n tag_216\n jumpi\n /* \"#utility.yul\":13489:13490 */\n 0x00\n /* \"#utility.yul\":13480:13486 */\n dup5\n /* \"#utility.yul\":13475:13478 */\n dup5\n /* \"#utility.yul\":13471:13487 */\n add\n /* \"#utility.yul\":13464:13491 */\n mstore\n /* \"#utility.yul\":13400:13402 */\n tag_216:\n /* \"#utility.yul\":13249:13507 */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":13513:13794 */\n tag_183:\n /* \"#utility.yul\":13596:13623 */\n tag_218\n /* \"#utility.yul\":13618:13622 */\n dup3\n /* \"#utility.yul\":13596:13623 */\n tag_146\n jump\t// in\n tag_218:\n /* \"#utility.yul\":13588:13594 */\n dup2\n /* \"#utility.yul\":13584:13624 */\n add\n /* \"#utility.yul\":13726:13732 */\n dup2\n /* \"#utility.yul\":13714:13724 */\n dup2\n /* \"#utility.yul\":13711:13733 */\n lt\n /* \"#utility.yul\":13690:13708 */\n 0xffffffffffffffff\n /* \"#utility.yul\":13678:13688 */\n dup3\n /* \"#utility.yul\":13675:13709 */\n gt\n /* \"#utility.yul\":13672:13734 */\n or\n /* \"#utility.yul\":13669:13671 */\n iszero\n tag_219\n jumpi\n /* \"#utility.yul\":13737:13755 */\n tag_220\n tag_188\n jump\t// in\n tag_220:\n /* \"#utility.yul\":13669:13671 */\n tag_219:\n /* \"#utility.yul\":13777:13787 */\n dup1\n /* \"#utility.yul\":13773:13775 */\n 0x40\n /* \"#utility.yul\":13766:13788 */\n mstore\n /* \"#utility.yul\":13556:13794 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":13800:13980 */\n tag_188:\n /* \"#utility.yul\":13848:13925 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":13845:13846 */\n 0x00\n /* \"#utility.yul\":13838:13926 */\n mstore\n /* \"#utility.yul\":13945:13949 */\n 0x41\n /* \"#utility.yul\":13942:13943 */\n 0x04\n /* \"#utility.yul\":13935:13950 */\n mstore\n /* \"#utility.yul\":13969:13973 */\n 0x24\n /* \"#utility.yul\":13966:13967 */\n 0x00\n /* \"#utility.yul\":13959:13974 */\n revert\n /* \"#utility.yul\":13986:14103 */\n tag_45:\n /* \"#utility.yul\":14095:14096 */\n 0x00\n /* \"#utility.yul\":14092:14093 */\n dup1\n /* \"#utility.yul\":14085:14097 */\n revert\n /* \"#utility.yul\":14109:14226 */\n tag_75:\n /* \"#utility.yul\":14218:14219 */\n 0x00\n /* \"#utility.yul\":14215:14216 */\n dup1\n /* \"#utility.yul\":14208:14220 */\n revert\n /* \"#utility.yul\":14232:14349 */\n tag_81:\n /* \"#utility.yul\":14341:14342 */\n 0x00\n /* \"#utility.yul\":14338:14339 */\n dup1\n /* \"#utility.yul\":14331:14343 */\n revert\n /* \"#utility.yul\":14355:14472 */\n tag_39:\n /* \"#utility.yul\":14464:14465 */\n 0x00\n /* \"#utility.yul\":14461:14462 */\n dup1\n /* \"#utility.yul\":14454:14466 */\n revert\n /* \"#utility.yul\":14478:14595 */\n tag_55:\n /* \"#utility.yul\":14587:14588 */\n 0x00\n /* \"#utility.yul\":14584:14585 */\n dup1\n /* \"#utility.yul\":14577:14589 */\n revert\n /* \"#utility.yul\":14601:14718 */\n tag_102:\n /* \"#utility.yul\":14710:14711 */\n 0x00\n /* \"#utility.yul\":14707:14708 */\n dup1\n /* \"#utility.yul\":14700:14712 */\n revert\n /* \"#utility.yul\":14724:14841 */\n tag_97:\n /* \"#utility.yul\":14833:14834 */\n 0x00\n /* \"#utility.yul\":14830:14831 */\n dup1\n /* \"#utility.yul\":14823:14835 */\n revert\n /* \"#utility.yul\":14847:14949 */\n tag_146:\n /* \"#utility.yul\":14888:14894 */\n 0x00\n /* \"#utility.yul\":14939:14941 */\n 0x1f\n /* \"#utility.yul\":14935:14942 */\n not\n /* \"#utility.yul\":14930:14932 */\n 0x1f\n /* \"#utility.yul\":14923:14928 */\n dup4\n /* \"#utility.yul\":14919:14933 */\n add\n /* \"#utility.yul\":14915:14943 */\n and\n /* \"#utility.yul\":14905:14943 */\n swap1\n pop\n /* \"#utility.yul\":14895:14949 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":14955:15077 */\n tag_61:\n /* \"#utility.yul\":15028:15052 */\n tag_231\n /* \"#utility.yul\":15046:15051 */\n dup2\n /* \"#utility.yul\":15028:15052 */\n tag_123\n jump\t// in\n tag_231:\n /* \"#utility.yul\":15021:15026 */\n dup2\n /* \"#utility.yul\":15018:15053 */\n eq\n /* \"#utility.yul\":15008:15010 */\n tag_232\n jumpi\n /* \"#utility.yul\":15067:15068 */\n 0x00\n /* \"#utility.yul\":15064:15065 */\n dup1\n /* \"#utility.yul\":15057:15069 */\n revert\n /* \"#utility.yul\":15008:15010 */\n tag_232:\n /* \"#utility.yul\":14998:15077 */\n pop\n jump\t// out\n /* \"#utility.yul\":15083:15205 */\n tag_86:\n /* \"#utility.yul\":15156:15180 */\n tag_234\n /* \"#utility.yul\":15174:15179 */\n dup2\n /* \"#utility.yul\":15156:15180 */\n tag_159\n jump\t// in\n tag_234:\n /* \"#utility.yul\":15149:15154 */\n dup2\n /* \"#utility.yul\":15146:15181 */\n eq\n /* \"#utility.yul\":15136:15138 */\n tag_235\n jumpi\n /* \"#utility.yul\":15195:15196 */\n 0x00\n /* \"#utility.yul\":15192:15193 */\n dup1\n /* \"#utility.yul\":15185:15197 */\n revert\n /* \"#utility.yul\":15136:15138 */\n tag_235:\n /* \"#utility.yul\":15126:15205 */\n pop\n jump\t// out\n /* \"#utility.yul\":15211:15331 */\n tag_90:\n /* \"#utility.yul\":15283:15306 */\n tag_237\n /* \"#utility.yul\":15300:15305 */\n dup2\n /* \"#utility.yul\":15283:15306 */\n tag_163\n jump\t// in\n tag_237:\n /* \"#utility.yul\":15276:15281 */\n dup2\n /* \"#utility.yul\":15273:15307 */\n eq\n /* \"#utility.yul\":15263:15265 */\n tag_238\n jumpi\n /* \"#utility.yul\":15321:15322 */\n 0x00\n /* \"#utility.yul\":15318:15319 */\n dup1\n /* \"#utility.yul\":15311:15323 */\n revert\n /* \"#utility.yul\":15263:15265 */\n tag_238:\n /* \"#utility.yul\":15253:15331 */\n pop\n jump\t// out\n /* \"#utility.yul\":15337:15455 */\n tag_93:\n /* \"#utility.yul\":15408:15430 */\n tag_240\n /* \"#utility.yul\":15424:15429 */\n dup2\n /* \"#utility.yul\":15408:15430 */\n tag_166\n jump\t// in\n tag_240:\n /* \"#utility.yul\":15401:15406 */\n dup2\n /* \"#utility.yul\":15398:15431 */\n eq\n /* \"#utility.yul\":15388:15390 */\n tag_241\n jumpi\n /* \"#utility.yul\":15445:15446 */\n 0x00\n /* \"#utility.yul\":15442:15443 */\n dup1\n /* \"#utility.yul\":15435:15447 */\n revert\n /* \"#utility.yul\":15388:15390 */\n tag_241:\n /* \"#utility.yul\":15378:15455 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220575d5f70ce7c46f061274cb948a465f99735e8b3fb5cd407fd2e79a17e0e62d364736f6c63430008060033\n}\n", + "assembly": " /* \"main.sol\":3560:5151 contract XtokensInstance is Xtokens {... */\n mstore(0x40, 0x80)\n /* \"main.sol\":3698:3740 0x0000000000000000000000000000000000000804 */\n 0x0804\n /* \"main.sol\":3665:3741 Xtokens public xtokens = Xtokens(0x0000000000000000000000000000000000000804) */\n 0x00\n dup1\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"main.sol\":3560:5151 contract XtokensInstance is Xtokens {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"main.sol\":3560:5151 contract XtokensInstance is Xtokens {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x89a570fc\n eq\n tag_3\n jumpi\n dup1\n 0x94f69115\n eq\n tag_4\n jumpi\n dup1\n 0xaf3dcee8\n eq\n tag_5\n jumpi\n dup1\n 0xb38c60fa\n eq\n tag_6\n jumpi\n dup1\n 0xb9f813ff\n eq\n tag_7\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"main.sol\":4811:5145 function transfer_multiasset_with_fee(... */\n tag_3:\n tag_8\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\n tag_9:\n tag_11\n jump\t// in\n tag_8:\n stop\n /* \"main.sol\":4110:4507 function transfer_with_fee(... */\n tag_4:\n tag_12\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n tag_15\n jump\t// in\n tag_12:\n stop\n /* \"main.sol\":3665:3741 Xtokens public xtokens = Xtokens(0x0000000000000000000000000000000000000804) */\n tag_5:\n tag_16\n tag_17\n jump\t// in\n tag_16:\n mload(0x40)\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"main.sol\":4516:4802 function transfer_multiasset(... */\n tag_6:\n tag_20\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_21\n swap2\n swap1\n tag_22\n jump\t// in\n tag_21:\n tag_23\n jump\t// in\n tag_20:\n stop\n /* \"main.sol\":3752:4101 function transfer(... */\n tag_7:\n tag_24\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_25\n swap2\n swap1\n tag_26\n jump\t// in\n tag_25:\n tag_27\n jump\t// in\n tag_24:\n stop\n /* \"main.sol\":4811:5145 function transfer_multiasset_with_fee(... */\n tag_11:\n /* \"main.sol\":5057:5064 xtokens */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"main.sol\":5057:5093 xtokens.transfer_multiasset_with_fee */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x89a570fc\n /* \"main.sol\":5094:5099 asset */\n dup7\n /* \"main.sol\":5101:5107 amount */\n dup7\n /* \"main.sol\":5109:5112 fee */\n dup7\n /* \"main.sol\":5114:5125 destination */\n dup7\n /* \"main.sol\":5127:5133 weight */\n dup7\n /* \"main.sol\":5057:5134 xtokens.transfer_multiasset_with_fee(asset, amount, fee, destination, weight) */\n mload(0x40)\n dup7\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_29\n swap6\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_30\n jump\t// in\n tag_29:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_31\n jumpi\n 0x00\n dup1\n revert\n tag_31:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_33\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_33:\n pop\n pop\n pop\n pop\n /* \"main.sol\":4811:5145 function transfer_multiasset_with_fee(... */\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"main.sol\":4110:4507 function transfer_with_fee(... */\n tag_15:\n /* \"main.sol\":4419:4426 xtokens */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"main.sol\":4419:4444 xtokens.transfer_with_fee */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x94f69115\n /* \"main.sol\":4445:4461 currency_address */\n dup7\n /* \"main.sol\":4463:4469 amount */\n dup7\n /* \"main.sol\":4471:4474 fee */\n dup7\n /* \"main.sol\":4476:4487 destination */\n dup7\n /* \"main.sol\":4489:4495 weight */\n dup7\n /* \"main.sol\":4419:4496 xtokens.transfer_with_fee(currency_address, amount, fee, destination, weight) */\n mload(0x40)\n dup7\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_35\n swap6\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_37\n jumpi\n 0x00\n dup1\n revert\n tag_37:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_39\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_39:\n pop\n pop\n pop\n pop\n /* \"main.sol\":4110:4507 function transfer_with_fee(... */\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"main.sol\":3665:3741 Xtokens public xtokens = Xtokens(0x0000000000000000000000000000000000000804) */\n tag_17:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"main.sol\":4516:4802 function transfer_multiasset(... */\n tag_23:\n /* \"main.sol\":4728:4735 xtokens */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"main.sol\":4728:4755 xtokens.transfer_multiasset */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xb38c60fa\n /* \"main.sol\":4756:4761 asset */\n dup6\n /* \"main.sol\":4763:4769 amount */\n dup6\n /* \"main.sol\":4771:4782 destination */\n dup6\n /* \"main.sol\":4784:4790 weight */\n dup6\n /* \"main.sol\":4728:4791 xtokens.transfer_multiasset(asset, amount, destination, weight) */\n mload(0x40)\n dup6\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_41\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_42\n jump\t// in\n tag_41:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_43\n jumpi\n 0x00\n dup1\n revert\n tag_43:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_45\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_45:\n pop\n pop\n pop\n pop\n /* \"main.sol\":4516:4802 function transfer_multiasset(... */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"main.sol\":3752:4101 function transfer(... */\n tag_27:\n /* \"main.sol\":4027:4034 xtokens */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"main.sol\":4027:4043 xtokens.transfer */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xb9f813ff\n /* \"main.sol\":4044:4060 currency_address */\n dup6\n /* \"main.sol\":4062:4068 amount */\n dup6\n /* \"main.sol\":4070:4081 destination */\n dup6\n /* \"main.sol\":4083:4089 weight */\n dup6\n /* \"main.sol\":4027:4090 xtokens.transfer(currency_address, amount, destination, weight) */\n mload(0x40)\n dup6\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_47\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_48\n jump\t// in\n tag_47:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_49\n jumpi\n 0x00\n dup1\n revert\n tag_49:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_51\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_51:\n pop\n pop\n pop\n pop\n /* \"main.sol\":3752:4101 function transfer(... */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7:82 */\n tag_52:\n /* \"#utility.yul\":40:46 */\n 0x00\n /* \"#utility.yul\":73:75 */\n 0x40\n /* \"#utility.yul\":67:76 */\n mload\n /* \"#utility.yul\":57:76 */\n swap1\n pop\n /* \"#utility.yul\":7:82 */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_53:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\n tag_54:\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":334:451 */\n tag_55:\n /* \"#utility.yul\":443:444 */\n 0x00\n /* \"#utility.yul\":440:441 */\n dup1\n /* \"#utility.yul\":433:445 */\n revert\n /* \"#utility.yul\":457:559 */\n tag_56:\n /* \"#utility.yul\":498:504 */\n 0x00\n /* \"#utility.yul\":549:551 */\n 0x1f\n /* \"#utility.yul\":545:552 */\n not\n /* \"#utility.yul\":540:542 */\n 0x1f\n /* \"#utility.yul\":533:538 */\n dup4\n /* \"#utility.yul\":529:543 */\n add\n /* \"#utility.yul\":525:553 */\n and\n /* \"#utility.yul\":515:553 */\n swap1\n pop\n /* \"#utility.yul\":457:559 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":565:745 */\n tag_57:\n /* \"#utility.yul\":613:690 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":610:611 */\n 0x00\n /* \"#utility.yul\":603:691 */\n mstore\n /* \"#utility.yul\":710:714 */\n 0x41\n /* \"#utility.yul\":707:708 */\n 0x04\n /* \"#utility.yul\":700:715 */\n mstore\n /* \"#utility.yul\":734:738 */\n 0x24\n /* \"#utility.yul\":731:732 */\n 0x00\n /* \"#utility.yul\":724:739 */\n revert\n /* \"#utility.yul\":751:1032 */\n tag_58:\n /* \"#utility.yul\":834:861 */\n tag_113\n /* \"#utility.yul\":856:860 */\n dup3\n /* \"#utility.yul\":834:861 */\n tag_56\n jump\t// in\n tag_113:\n /* \"#utility.yul\":826:832 */\n dup2\n /* \"#utility.yul\":822:862 */\n add\n /* \"#utility.yul\":964:970 */\n dup2\n /* \"#utility.yul\":952:962 */\n dup2\n /* \"#utility.yul\":949:971 */\n lt\n /* \"#utility.yul\":928:946 */\n 0xffffffffffffffff\n /* \"#utility.yul\":916:926 */\n dup3\n /* \"#utility.yul\":913:947 */\n gt\n /* \"#utility.yul\":910:972 */\n or\n /* \"#utility.yul\":907:995 */\n iszero\n tag_114\n jumpi\n /* \"#utility.yul\":975:993 */\n tag_115\n tag_57\n jump\t// in\n tag_115:\n /* \"#utility.yul\":907:995 */\n tag_114:\n /* \"#utility.yul\":1015:1025 */\n dup1\n /* \"#utility.yul\":1011:1013 */\n 0x40\n /* \"#utility.yul\":1004:1026 */\n mstore\n /* \"#utility.yul\":794:1032 */\n pop\n /* \"#utility.yul\":751:1032 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1038:1167 */\n tag_59:\n /* \"#utility.yul\":1072:1078 */\n 0x00\n /* \"#utility.yul\":1099:1119 */\n tag_117\n tag_52\n jump\t// in\n tag_117:\n /* \"#utility.yul\":1089:1119 */\n swap1\n pop\n /* \"#utility.yul\":1128:1161 */\n tag_118\n /* \"#utility.yul\":1156:1160 */\n dup3\n /* \"#utility.yul\":1148:1154 */\n dup3\n /* \"#utility.yul\":1128:1161 */\n tag_58\n jump\t// in\n tag_118:\n /* \"#utility.yul\":1038:1167 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1173:1290 */\n tag_60:\n /* \"#utility.yul\":1282:1283 */\n 0x00\n /* \"#utility.yul\":1279:1280 */\n dup1\n /* \"#utility.yul\":1272:1284 */\n revert\n /* \"#utility.yul\":1296:1382 */\n tag_61:\n /* \"#utility.yul\":1331:1338 */\n 0x00\n /* \"#utility.yul\":1371:1375 */\n 0xff\n /* \"#utility.yul\":1364:1369 */\n dup3\n /* \"#utility.yul\":1360:1376 */\n and\n /* \"#utility.yul\":1349:1376 */\n swap1\n pop\n /* \"#utility.yul\":1296:1382 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1388:1506 */\n tag_62:\n /* \"#utility.yul\":1459:1481 */\n tag_122\n /* \"#utility.yul\":1475:1480 */\n dup2\n /* \"#utility.yul\":1459:1481 */\n tag_61\n jump\t// in\n tag_122:\n /* \"#utility.yul\":1452:1457 */\n dup2\n /* \"#utility.yul\":1449:1482 */\n eq\n /* \"#utility.yul\":1439:1500 */\n tag_123\n jumpi\n /* \"#utility.yul\":1496:1497 */\n 0x00\n /* \"#utility.yul\":1493:1494 */\n dup1\n /* \"#utility.yul\":1486:1498 */\n revert\n /* \"#utility.yul\":1439:1500 */\n tag_123:\n /* \"#utility.yul\":1388:1506 */\n pop\n jump\t// out\n /* \"#utility.yul\":1512:1647 */\n tag_63:\n /* \"#utility.yul\":1556:1561 */\n 0x00\n /* \"#utility.yul\":1594:1600 */\n dup2\n /* \"#utility.yul\":1581:1601 */\n calldataload\n /* \"#utility.yul\":1572:1601 */\n swap1\n pop\n /* \"#utility.yul\":1610:1641 */\n tag_125\n /* \"#utility.yul\":1635:1640 */\n dup2\n /* \"#utility.yul\":1610:1641 */\n tag_62\n jump\t// in\n tag_125:\n /* \"#utility.yul\":1512:1647 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1653:1770 */\n tag_64:\n /* \"#utility.yul\":1762:1763 */\n 0x00\n /* \"#utility.yul\":1759:1760 */\n dup1\n /* \"#utility.yul\":1752:1764 */\n revert\n /* \"#utility.yul\":1776:2096 */\n tag_65:\n /* \"#utility.yul\":1862:1866 */\n 0x00\n /* \"#utility.yul\":1952:1970 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1944:1950 */\n dup3\n /* \"#utility.yul\":1941:1971 */\n gt\n /* \"#utility.yul\":1938:1994 */\n iszero\n tag_128\n jumpi\n /* \"#utility.yul\":1974:1992 */\n tag_129\n tag_57\n jump\t// in\n tag_129:\n /* \"#utility.yul\":1938:1994 */\n tag_128:\n /* \"#utility.yul\":2024:2028 */\n 0x20\n /* \"#utility.yul\":2016:2022 */\n dup3\n /* \"#utility.yul\":2012:2029 */\n mul\n /* \"#utility.yul\":2004:2029 */\n swap1\n pop\n /* \"#utility.yul\":2084:2088 */\n 0x20\n /* \"#utility.yul\":2078:2082 */\n dup2\n /* \"#utility.yul\":2074:2089 */\n add\n /* \"#utility.yul\":2066:2089 */\n swap1\n pop\n /* \"#utility.yul\":1776:2096 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2102:2219 */\n tag_66:\n /* \"#utility.yul\":2211:2212 */\n 0x00\n /* \"#utility.yul\":2208:2209 */\n dup1\n /* \"#utility.yul\":2201:2213 */\n revert\n /* \"#utility.yul\":2225:2342 */\n tag_67:\n /* \"#utility.yul\":2334:2335 */\n 0x00\n /* \"#utility.yul\":2331:2332 */\n dup1\n /* \"#utility.yul\":2324:2336 */\n revert\n /* \"#utility.yul\":2348:2655 */\n tag_68:\n /* \"#utility.yul\":2409:2413 */\n 0x00\n /* \"#utility.yul\":2499:2517 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2491:2497 */\n dup3\n /* \"#utility.yul\":2488:2518 */\n gt\n /* \"#utility.yul\":2485:2541 */\n iszero\n tag_133\n jumpi\n /* \"#utility.yul\":2521:2539 */\n tag_134\n tag_57\n jump\t// in\n tag_134:\n /* \"#utility.yul\":2485:2541 */\n tag_133:\n /* \"#utility.yul\":2559:2588 */\n tag_135\n /* \"#utility.yul\":2581:2587 */\n dup3\n /* \"#utility.yul\":2559:2588 */\n tag_56\n jump\t// in\n tag_135:\n /* \"#utility.yul\":2551:2588 */\n swap1\n pop\n /* \"#utility.yul\":2643:2647 */\n 0x20\n /* \"#utility.yul\":2637:2641 */\n dup2\n /* \"#utility.yul\":2633:2648 */\n add\n /* \"#utility.yul\":2625:2648 */\n swap1\n pop\n /* \"#utility.yul\":2348:2655 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2661:2815 */\n tag_69:\n /* \"#utility.yul\":2745:2751 */\n dup3\n /* \"#utility.yul\":2740:2743 */\n dup2\n /* \"#utility.yul\":2735:2738 */\n dup4\n /* \"#utility.yul\":2722:2752 */\n calldatacopy\n /* \"#utility.yul\":2807:2808 */\n 0x00\n /* \"#utility.yul\":2798:2804 */\n dup4\n /* \"#utility.yul\":2793:2796 */\n dup4\n /* \"#utility.yul\":2789:2805 */\n add\n /* \"#utility.yul\":2782:2809 */\n mstore\n /* \"#utility.yul\":2661:2815 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2821:3231 */\n tag_70:\n /* \"#utility.yul\":2898:2903 */\n 0x00\n /* \"#utility.yul\":2923:2988 */\n tag_138\n /* \"#utility.yul\":2939:2987 */\n tag_139\n /* \"#utility.yul\":2980:2986 */\n dup5\n /* \"#utility.yul\":2939:2987 */\n tag_68\n jump\t// in\n tag_139:\n /* \"#utility.yul\":2923:2988 */\n tag_59\n jump\t// in\n tag_138:\n /* \"#utility.yul\":2914:2988 */\n swap1\n pop\n /* \"#utility.yul\":3011:3017 */\n dup3\n /* \"#utility.yul\":3004:3009 */\n dup2\n /* \"#utility.yul\":2997:3018 */\n mstore\n /* \"#utility.yul\":3049:3053 */\n 0x20\n /* \"#utility.yul\":3042:3047 */\n dup2\n /* \"#utility.yul\":3038:3054 */\n add\n /* \"#utility.yul\":3087:3090 */\n dup5\n /* \"#utility.yul\":3078:3084 */\n dup5\n /* \"#utility.yul\":3073:3076 */\n dup5\n /* \"#utility.yul\":3069:3085 */\n add\n /* \"#utility.yul\":3066:3091 */\n gt\n /* \"#utility.yul\":3063:3175 */\n iszero\n tag_140\n jumpi\n /* \"#utility.yul\":3094:3173 */\n tag_141\n tag_67\n jump\t// in\n tag_141:\n /* \"#utility.yul\":3063:3175 */\n tag_140:\n /* \"#utility.yul\":3184:3225 */\n tag_142\n /* \"#utility.yul\":3218:3224 */\n dup5\n /* \"#utility.yul\":3213:3216 */\n dup3\n /* \"#utility.yul\":3208:3211 */\n dup6\n /* \"#utility.yul\":3184:3225 */\n tag_69\n jump\t// in\n tag_142:\n /* \"#utility.yul\":2904:3231 */\n pop\n /* \"#utility.yul\":2821:3231 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3250:3588 */\n tag_71:\n /* \"#utility.yul\":3305:3310 */\n 0x00\n /* \"#utility.yul\":3354:3357 */\n dup3\n /* \"#utility.yul\":3347:3351 */\n 0x1f\n /* \"#utility.yul\":3339:3345 */\n dup4\n /* \"#utility.yul\":3335:3352 */\n add\n /* \"#utility.yul\":3331:3358 */\n slt\n /* \"#utility.yul\":3321:3443 */\n tag_144\n jumpi\n /* \"#utility.yul\":3362:3441 */\n tag_145\n tag_64\n jump\t// in\n tag_145:\n /* \"#utility.yul\":3321:3443 */\n tag_144:\n /* \"#utility.yul\":3479:3485 */\n dup2\n /* \"#utility.yul\":3466:3486 */\n calldataload\n /* \"#utility.yul\":3504:3582 */\n tag_146\n /* \"#utility.yul\":3578:3581 */\n dup5\n /* \"#utility.yul\":3570:3576 */\n dup3\n /* \"#utility.yul\":3563:3567 */\n 0x20\n /* \"#utility.yul\":3555:3561 */\n dup7\n /* \"#utility.yul\":3551:3568 */\n add\n /* \"#utility.yul\":3504:3582 */\n tag_70\n jump\t// in\n tag_146:\n /* \"#utility.yul\":3495:3582 */\n swap2\n pop\n /* \"#utility.yul\":3311:3588 */\n pop\n /* \"#utility.yul\":3250:3588 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3609:4551 */\n tag_72:\n /* \"#utility.yul\":3714:3719 */\n 0x00\n /* \"#utility.yul\":3739:3829 */\n tag_148\n /* \"#utility.yul\":3755:3828 */\n tag_149\n /* \"#utility.yul\":3821:3827 */\n dup5\n /* \"#utility.yul\":3755:3828 */\n tag_65\n jump\t// in\n tag_149:\n /* \"#utility.yul\":3739:3829 */\n tag_59\n jump\t// in\n tag_148:\n /* \"#utility.yul\":3730:3829 */\n swap1\n pop\n /* \"#utility.yul\":3849:3854 */\n dup1\n /* \"#utility.yul\":3878:3884 */\n dup4\n /* \"#utility.yul\":3871:3876 */\n dup3\n /* \"#utility.yul\":3864:3885 */\n mstore\n /* \"#utility.yul\":3912:3916 */\n 0x20\n /* \"#utility.yul\":3905:3910 */\n dup3\n /* \"#utility.yul\":3901:3917 */\n add\n /* \"#utility.yul\":3894:3917 */\n swap1\n pop\n /* \"#utility.yul\":3965:3969 */\n 0x20\n /* \"#utility.yul\":3957:3963 */\n dup5\n /* \"#utility.yul\":3953:3970 */\n mul\n /* \"#utility.yul\":3945:3951 */\n dup4\n /* \"#utility.yul\":3941:3971 */\n add\n /* \"#utility.yul\":3994:3997 */\n dup6\n /* \"#utility.yul\":3986:3992 */\n dup2\n /* \"#utility.yul\":3983:3998 */\n gt\n /* \"#utility.yul\":3980:4102 */\n iszero\n tag_150\n jumpi\n /* \"#utility.yul\":4013:4092 */\n tag_151\n tag_66\n jump\t// in\n tag_151:\n /* \"#utility.yul\":3980:4102 */\n tag_150:\n /* \"#utility.yul\":4128:4134 */\n dup4\n /* \"#utility.yul\":4111:4545 */\n tag_152:\n /* \"#utility.yul\":4145:4151 */\n dup2\n /* \"#utility.yul\":4140:4143 */\n dup2\n /* \"#utility.yul\":4137:4152 */\n lt\n /* \"#utility.yul\":4111:4545 */\n iszero\n tag_154\n jumpi\n /* \"#utility.yul\":4234:4237 */\n dup1\n /* \"#utility.yul\":4221:4238 */\n calldataload\n /* \"#utility.yul\":4270:4288 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4257:4268 */\n dup2\n /* \"#utility.yul\":4254:4289 */\n gt\n /* \"#utility.yul\":4251:4373 */\n iszero\n tag_155\n jumpi\n /* \"#utility.yul\":4292:4371 */\n tag_156\n tag_64\n jump\t// in\n tag_156:\n /* \"#utility.yul\":4251:4373 */\n tag_155:\n /* \"#utility.yul\":4416:4427 */\n dup1\n /* \"#utility.yul\":4408:4414 */\n dup7\n /* \"#utility.yul\":4404:4428 */\n add\n /* \"#utility.yul\":4454:4500 */\n tag_157\n /* \"#utility.yul\":4496:4499 */\n dup10\n /* \"#utility.yul\":4484:4494 */\n dup3\n /* \"#utility.yul\":4454:4500 */\n tag_71\n jump\t// in\n tag_157:\n /* \"#utility.yul\":4449:4452 */\n dup6\n /* \"#utility.yul\":4442:4501 */\n mstore\n /* \"#utility.yul\":4530:4534 */\n 0x20\n /* \"#utility.yul\":4525:4528 */\n dup6\n /* \"#utility.yul\":4521:4535 */\n add\n /* \"#utility.yul\":4514:4535 */\n swap5\n pop\n /* \"#utility.yul\":4187:4545 */\n pop\n pop\n /* \"#utility.yul\":4171:4175 */\n 0x20\n /* \"#utility.yul\":4166:4169 */\n dup2\n /* \"#utility.yul\":4162:4176 */\n add\n /* \"#utility.yul\":4155:4176 */\n swap1\n pop\n /* \"#utility.yul\":4111:4545 */\n jump(tag_152)\n tag_154:\n /* \"#utility.yul\":4115:4136 */\n pop\n /* \"#utility.yul\":3720:4551 */\n pop\n pop\n /* \"#utility.yul\":3609:4551 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4572:4960 */\n tag_73:\n /* \"#utility.yul\":4652:4657 */\n 0x00\n /* \"#utility.yul\":4701:4704 */\n dup3\n /* \"#utility.yul\":4694:4698 */\n 0x1f\n /* \"#utility.yul\":4686:4692 */\n dup4\n /* \"#utility.yul\":4682:4699 */\n add\n /* \"#utility.yul\":4678:4705 */\n slt\n /* \"#utility.yul\":4668:4790 */\n tag_159\n jumpi\n /* \"#utility.yul\":4709:4788 */\n tag_160\n tag_64\n jump\t// in\n tag_160:\n /* \"#utility.yul\":4668:4790 */\n tag_159:\n /* \"#utility.yul\":4826:4832 */\n dup2\n /* \"#utility.yul\":4813:4833 */\n calldataload\n /* \"#utility.yul\":4851:4954 */\n tag_161\n /* \"#utility.yul\":4950:4953 */\n dup5\n /* \"#utility.yul\":4942:4948 */\n dup3\n /* \"#utility.yul\":4935:4939 */\n 0x20\n /* \"#utility.yul\":4927:4933 */\n dup7\n /* \"#utility.yul\":4923:4940 */\n add\n /* \"#utility.yul\":4851:4954 */\n tag_72\n jump\t// in\n tag_161:\n /* \"#utility.yul\":4842:4954 */\n swap2\n pop\n /* \"#utility.yul\":4658:4960 */\n pop\n /* \"#utility.yul\":4572:4960 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5002:5778 */\n tag_74:\n /* \"#utility.yul\":5079:5084 */\n 0x00\n /* \"#utility.yul\":5123:5127 */\n 0x40\n /* \"#utility.yul\":5111:5120 */\n dup3\n /* \"#utility.yul\":5106:5109 */\n dup5\n /* \"#utility.yul\":5102:5121 */\n sub\n /* \"#utility.yul\":5098:5128 */\n slt\n /* \"#utility.yul\":5095:5212 */\n iszero\n tag_163\n jumpi\n /* \"#utility.yul\":5131:5210 */\n tag_164\n tag_55\n jump\t// in\n tag_164:\n /* \"#utility.yul\":5095:5212 */\n tag_163:\n /* \"#utility.yul\":5230:5251 */\n tag_165\n /* \"#utility.yul\":5246:5250 */\n 0x40\n /* \"#utility.yul\":5230:5251 */\n tag_59\n jump\t// in\n tag_165:\n /* \"#utility.yul\":5221:5251 */\n swap1\n pop\n /* \"#utility.yul\":5313:5314 */\n 0x00\n /* \"#utility.yul\":5353:5400 */\n tag_166\n /* \"#utility.yul\":5396:5399 */\n dup5\n /* \"#utility.yul\":5387:5393 */\n dup3\n /* \"#utility.yul\":5376:5385 */\n dup6\n /* \"#utility.yul\":5372:5394 */\n add\n /* \"#utility.yul\":5353:5400 */\n tag_63\n jump\t// in\n tag_166:\n /* \"#utility.yul\":5346:5350 */\n 0x00\n /* \"#utility.yul\":5339:5344 */\n dup4\n /* \"#utility.yul\":5335:5351 */\n add\n /* \"#utility.yul\":5328:5401 */\n mstore\n /* \"#utility.yul\":5261:5412 */\n pop\n /* \"#utility.yul\":5503:5505 */\n 0x20\n /* \"#utility.yul\":5492:5501 */\n dup3\n /* \"#utility.yul\":5488:5506 */\n add\n /* \"#utility.yul\":5475:5507 */\n calldataload\n /* \"#utility.yul\":5534:5552 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5526:5532 */\n dup2\n /* \"#utility.yul\":5523:5553 */\n gt\n /* \"#utility.yul\":5520:5637 */\n iszero\n tag_167\n jumpi\n /* \"#utility.yul\":5556:5635 */\n tag_168\n tag_60\n jump\t// in\n tag_168:\n /* \"#utility.yul\":5520:5637 */\n tag_167:\n /* \"#utility.yul\":5676:5759 */\n tag_169\n /* \"#utility.yul\":5755:5758 */\n dup5\n /* \"#utility.yul\":5746:5752 */\n dup3\n /* \"#utility.yul\":5735:5744 */\n dup6\n /* \"#utility.yul\":5731:5753 */\n add\n /* \"#utility.yul\":5676:5759 */\n tag_73\n jump\t// in\n tag_169:\n /* \"#utility.yul\":5669:5673 */\n 0x20\n /* \"#utility.yul\":5662:5667 */\n dup4\n /* \"#utility.yul\":5658:5674 */\n add\n /* \"#utility.yul\":5651:5760 */\n mstore\n /* \"#utility.yul\":5422:5771 */\n pop\n /* \"#utility.yul\":5002:5778 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5784:5861 */\n tag_75:\n /* \"#utility.yul\":5821:5828 */\n 0x00\n /* \"#utility.yul\":5850:5855 */\n dup2\n /* \"#utility.yul\":5839:5855 */\n swap1\n pop\n /* \"#utility.yul\":5784:5861 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5867:5989 */\n tag_76:\n /* \"#utility.yul\":5940:5964 */\n tag_172\n /* \"#utility.yul\":5958:5963 */\n dup2\n /* \"#utility.yul\":5940:5964 */\n tag_75\n jump\t// in\n tag_172:\n /* \"#utility.yul\":5933:5938 */\n dup2\n /* \"#utility.yul\":5930:5965 */\n eq\n /* \"#utility.yul\":5920:5983 */\n tag_173\n jumpi\n /* \"#utility.yul\":5979:5980 */\n 0x00\n /* \"#utility.yul\":5976:5977 */\n dup1\n /* \"#utility.yul\":5969:5981 */\n revert\n /* \"#utility.yul\":5920:5983 */\n tag_173:\n /* \"#utility.yul\":5867:5989 */\n pop\n jump\t// out\n /* \"#utility.yul\":5995:6134 */\n tag_77:\n /* \"#utility.yul\":6041:6046 */\n 0x00\n /* \"#utility.yul\":6079:6085 */\n dup2\n /* \"#utility.yul\":6066:6086 */\n calldataload\n /* \"#utility.yul\":6057:6086 */\n swap1\n pop\n /* \"#utility.yul\":6095:6128 */\n tag_175\n /* \"#utility.yul\":6122:6127 */\n dup2\n /* \"#utility.yul\":6095:6128 */\n tag_76\n jump\t// in\n tag_175:\n /* \"#utility.yul\":5995:6134 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6140:6241 */\n tag_78:\n /* \"#utility.yul\":6176:6183 */\n 0x00\n /* \"#utility.yul\":6216:6234 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6209:6214 */\n dup3\n /* \"#utility.yul\":6205:6235 */\n and\n /* \"#utility.yul\":6194:6235 */\n swap1\n pop\n /* \"#utility.yul\":6140:6241 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6247:6367 */\n tag_79:\n /* \"#utility.yul\":6319:6342 */\n tag_178\n /* \"#utility.yul\":6336:6341 */\n dup2\n /* \"#utility.yul\":6319:6342 */\n tag_78\n jump\t// in\n tag_178:\n /* \"#utility.yul\":6312:6317 */\n dup2\n /* \"#utility.yul\":6309:6343 */\n eq\n /* \"#utility.yul\":6299:6361 */\n tag_179\n jumpi\n /* \"#utility.yul\":6357:6358 */\n 0x00\n /* \"#utility.yul\":6354:6355 */\n dup1\n /* \"#utility.yul\":6347:6359 */\n revert\n /* \"#utility.yul\":6299:6361 */\n tag_179:\n /* \"#utility.yul\":6247:6367 */\n pop\n jump\t// out\n /* \"#utility.yul\":6373:6510 */\n tag_80:\n /* \"#utility.yul\":6418:6423 */\n 0x00\n /* \"#utility.yul\":6456:6462 */\n dup2\n /* \"#utility.yul\":6443:6463 */\n calldataload\n /* \"#utility.yul\":6434:6463 */\n swap1\n pop\n /* \"#utility.yul\":6472:6504 */\n tag_181\n /* \"#utility.yul\":6498:6503 */\n dup2\n /* \"#utility.yul\":6472:6504 */\n tag_79\n jump\t// in\n tag_181:\n /* \"#utility.yul\":6373:6510 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6516:7857 */\n tag_10:\n /* \"#utility.yul\":6666:6672 */\n 0x00\n /* \"#utility.yul\":6674:6680 */\n dup1\n /* \"#utility.yul\":6682:6688 */\n 0x00\n /* \"#utility.yul\":6690:6696 */\n dup1\n /* \"#utility.yul\":6698:6704 */\n 0x00\n /* \"#utility.yul\":6747:6750 */\n 0xa0\n /* \"#utility.yul\":6735:6744 */\n dup7\n /* \"#utility.yul\":6726:6733 */\n dup9\n /* \"#utility.yul\":6722:6745 */\n sub\n /* \"#utility.yul\":6718:6751 */\n slt\n /* \"#utility.yul\":6715:6835 */\n iszero\n tag_183\n jumpi\n /* \"#utility.yul\":6754:6833 */\n tag_184\n tag_53\n jump\t// in\n tag_184:\n /* \"#utility.yul\":6715:6835 */\n tag_183:\n /* \"#utility.yul\":6902:6903 */\n 0x00\n /* \"#utility.yul\":6891:6900 */\n dup7\n /* \"#utility.yul\":6887:6904 */\n add\n /* \"#utility.yul\":6874:6905 */\n calldataload\n /* \"#utility.yul\":6932:6950 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6924:6930 */\n dup2\n /* \"#utility.yul\":6921:6951 */\n gt\n /* \"#utility.yul\":6918:7035 */\n iszero\n tag_185\n jumpi\n /* \"#utility.yul\":6954:7033 */\n tag_186\n tag_54\n jump\t// in\n tag_186:\n /* \"#utility.yul\":6918:7035 */\n tag_185:\n /* \"#utility.yul\":7059:7140 */\n tag_187\n /* \"#utility.yul\":7132:7139 */\n dup9\n /* \"#utility.yul\":7123:7129 */\n dup3\n /* \"#utility.yul\":7112:7121 */\n dup10\n /* \"#utility.yul\":7108:7130 */\n add\n /* \"#utility.yul\":7059:7140 */\n tag_74\n jump\t// in\n tag_187:\n /* \"#utility.yul\":7049:7140 */\n swap6\n pop\n /* \"#utility.yul\":6845:7150 */\n pop\n /* \"#utility.yul\":7189:7191 */\n 0x20\n /* \"#utility.yul\":7215:7268 */\n tag_188\n /* \"#utility.yul\":7260:7267 */\n dup9\n /* \"#utility.yul\":7251:7257 */\n dup3\n /* \"#utility.yul\":7240:7249 */\n dup10\n /* \"#utility.yul\":7236:7258 */\n add\n /* \"#utility.yul\":7215:7268 */\n tag_77\n jump\t// in\n tag_188:\n /* \"#utility.yul\":7205:7268 */\n swap5\n pop\n /* \"#utility.yul\":7160:7278 */\n pop\n /* \"#utility.yul\":7317:7319 */\n 0x40\n /* \"#utility.yul\":7343:7396 */\n tag_189\n /* \"#utility.yul\":7388:7395 */\n dup9\n /* \"#utility.yul\":7379:7385 */\n dup3\n /* \"#utility.yul\":7368:7377 */\n dup10\n /* \"#utility.yul\":7364:7386 */\n add\n /* \"#utility.yul\":7343:7396 */\n tag_77\n jump\t// in\n tag_189:\n /* \"#utility.yul\":7333:7396 */\n swap4\n pop\n /* \"#utility.yul\":7288:7406 */\n pop\n /* \"#utility.yul\":7473:7475 */\n 0x60\n /* \"#utility.yul\":7462:7471 */\n dup7\n /* \"#utility.yul\":7458:7476 */\n add\n /* \"#utility.yul\":7445:7477 */\n calldataload\n /* \"#utility.yul\":7504:7522 */\n 0xffffffffffffffff\n /* \"#utility.yul\":7496:7502 */\n dup2\n /* \"#utility.yul\":7493:7523 */\n gt\n /* \"#utility.yul\":7490:7607 */\n iszero\n tag_190\n jumpi\n /* \"#utility.yul\":7526:7605 */\n tag_191\n tag_54\n jump\t// in\n tag_191:\n /* \"#utility.yul\":7490:7607 */\n tag_190:\n /* \"#utility.yul\":7631:7712 */\n tag_192\n /* \"#utility.yul\":7704:7711 */\n dup9\n /* \"#utility.yul\":7695:7701 */\n dup3\n /* \"#utility.yul\":7684:7693 */\n dup10\n /* \"#utility.yul\":7680:7702 */\n add\n /* \"#utility.yul\":7631:7712 */\n tag_74\n jump\t// in\n tag_192:\n /* \"#utility.yul\":7621:7712 */\n swap3\n pop\n /* \"#utility.yul\":7416:7722 */\n pop\n /* \"#utility.yul\":7761:7764 */\n 0x80\n /* \"#utility.yul\":7788:7840 */\n tag_193\n /* \"#utility.yul\":7832:7839 */\n dup9\n /* \"#utility.yul\":7823:7829 */\n dup3\n /* \"#utility.yul\":7812:7821 */\n dup10\n /* \"#utility.yul\":7808:7830 */\n add\n /* \"#utility.yul\":7788:7840 */\n tag_80\n jump\t// in\n tag_193:\n /* \"#utility.yul\":7778:7840 */\n swap2\n pop\n /* \"#utility.yul\":7732:7850 */\n pop\n /* \"#utility.yul\":6516:7857 */\n swap3\n swap6\n pop\n swap3\n swap6\n swap1\n swap4\n pop\n jump\t// out\n /* \"#utility.yul\":7863:7989 */\n tag_81:\n /* \"#utility.yul\":7900:7907 */\n 0x00\n /* \"#utility.yul\":7940:7982 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":7933:7938 */\n dup3\n /* \"#utility.yul\":7929:7983 */\n and\n /* \"#utility.yul\":7918:7983 */\n swap1\n pop\n /* \"#utility.yul\":7863:7989 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7995:8091 */\n tag_82:\n /* \"#utility.yul\":8032:8039 */\n 0x00\n /* \"#utility.yul\":8061:8085 */\n tag_196\n /* \"#utility.yul\":8079:8084 */\n dup3\n /* \"#utility.yul\":8061:8085 */\n tag_81\n jump\t// in\n tag_196:\n /* \"#utility.yul\":8050:8085 */\n swap1\n pop\n /* \"#utility.yul\":7995:8091 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8097:8219 */\n tag_83:\n /* \"#utility.yul\":8170:8194 */\n tag_198\n /* \"#utility.yul\":8188:8193 */\n dup2\n /* \"#utility.yul\":8170:8194 */\n tag_82\n jump\t// in\n tag_198:\n /* \"#utility.yul\":8163:8168 */\n dup2\n /* \"#utility.yul\":8160:8195 */\n eq\n /* \"#utility.yul\":8150:8213 */\n tag_199\n jumpi\n /* \"#utility.yul\":8209:8210 */\n 0x00\n /* \"#utility.yul\":8206:8207 */\n dup1\n /* \"#utility.yul\":8199:8211 */\n revert\n /* \"#utility.yul\":8150:8213 */\n tag_199:\n /* \"#utility.yul\":8097:8219 */\n pop\n jump\t// out\n /* \"#utility.yul\":8225:8364 */\n tag_84:\n /* \"#utility.yul\":8271:8276 */\n 0x00\n /* \"#utility.yul\":8309:8315 */\n dup2\n /* \"#utility.yul\":8296:8316 */\n calldataload\n /* \"#utility.yul\":8287:8316 */\n swap1\n pop\n /* \"#utility.yul\":8325:8358 */\n tag_201\n /* \"#utility.yul\":8352:8357 */\n dup2\n /* \"#utility.yul\":8325:8358 */\n tag_83\n jump\t// in\n tag_201:\n /* \"#utility.yul\":8225:8364 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8370:9495 */\n tag_14:\n /* \"#utility.yul\":8492:8498 */\n 0x00\n /* \"#utility.yul\":8500:8506 */\n dup1\n /* \"#utility.yul\":8508:8514 */\n 0x00\n /* \"#utility.yul\":8516:8522 */\n dup1\n /* \"#utility.yul\":8524:8530 */\n 0x00\n /* \"#utility.yul\":8573:8576 */\n 0xa0\n /* \"#utility.yul\":8561:8570 */\n dup7\n /* \"#utility.yul\":8552:8559 */\n dup9\n /* \"#utility.yul\":8548:8571 */\n sub\n /* \"#utility.yul\":8544:8577 */\n slt\n /* \"#utility.yul\":8541:8661 */\n iszero\n tag_203\n jumpi\n /* \"#utility.yul\":8580:8659 */\n tag_204\n tag_53\n jump\t// in\n tag_204:\n /* \"#utility.yul\":8541:8661 */\n tag_203:\n /* \"#utility.yul\":8700:8701 */\n 0x00\n /* \"#utility.yul\":8725:8778 */\n tag_205\n /* \"#utility.yul\":8770:8777 */\n dup9\n /* \"#utility.yul\":8761:8767 */\n dup3\n /* \"#utility.yul\":8750:8759 */\n dup10\n /* \"#utility.yul\":8746:8768 */\n add\n /* \"#utility.yul\":8725:8778 */\n tag_84\n jump\t// in\n tag_205:\n /* \"#utility.yul\":8715:8778 */\n swap6\n pop\n /* \"#utility.yul\":8671:8788 */\n pop\n /* \"#utility.yul\":8827:8829 */\n 0x20\n /* \"#utility.yul\":8853:8906 */\n tag_206\n /* \"#utility.yul\":8898:8905 */\n dup9\n /* \"#utility.yul\":8889:8895 */\n dup3\n /* \"#utility.yul\":8878:8887 */\n dup10\n /* \"#utility.yul\":8874:8896 */\n add\n /* \"#utility.yul\":8853:8906 */\n tag_77\n jump\t// in\n tag_206:\n /* \"#utility.yul\":8843:8906 */\n swap5\n pop\n /* \"#utility.yul\":8798:8916 */\n pop\n /* \"#utility.yul\":8955:8957 */\n 0x40\n /* \"#utility.yul\":8981:9034 */\n tag_207\n /* \"#utility.yul\":9026:9033 */\n dup9\n /* \"#utility.yul\":9017:9023 */\n dup3\n /* \"#utility.yul\":9006:9015 */\n dup10\n /* \"#utility.yul\":9002:9024 */\n add\n /* \"#utility.yul\":8981:9034 */\n tag_77\n jump\t// in\n tag_207:\n /* \"#utility.yul\":8971:9034 */\n swap4\n pop\n /* \"#utility.yul\":8926:9044 */\n pop\n /* \"#utility.yul\":9111:9113 */\n 0x60\n /* \"#utility.yul\":9100:9109 */\n dup7\n /* \"#utility.yul\":9096:9114 */\n add\n /* \"#utility.yul\":9083:9115 */\n calldataload\n /* \"#utility.yul\":9142:9160 */\n 0xffffffffffffffff\n /* \"#utility.yul\":9134:9140 */\n dup2\n /* \"#utility.yul\":9131:9161 */\n gt\n /* \"#utility.yul\":9128:9245 */\n iszero\n tag_208\n jumpi\n /* \"#utility.yul\":9164:9243 */\n tag_209\n tag_54\n jump\t// in\n tag_209:\n /* \"#utility.yul\":9128:9245 */\n tag_208:\n /* \"#utility.yul\":9269:9350 */\n tag_210\n /* \"#utility.yul\":9342:9349 */\n dup9\n /* \"#utility.yul\":9333:9339 */\n dup3\n /* \"#utility.yul\":9322:9331 */\n dup10\n /* \"#utility.yul\":9318:9340 */\n add\n /* \"#utility.yul\":9269:9350 */\n tag_74\n jump\t// in\n tag_210:\n /* \"#utility.yul\":9259:9350 */\n swap3\n pop\n /* \"#utility.yul\":9054:9360 */\n pop\n /* \"#utility.yul\":9399:9402 */\n 0x80\n /* \"#utility.yul\":9426:9478 */\n tag_211\n /* \"#utility.yul\":9470:9477 */\n dup9\n /* \"#utility.yul\":9461:9467 */\n dup3\n /* \"#utility.yul\":9450:9459 */\n dup10\n /* \"#utility.yul\":9446:9468 */\n add\n /* \"#utility.yul\":9426:9478 */\n tag_80\n jump\t// in\n tag_211:\n /* \"#utility.yul\":9416:9478 */\n swap2\n pop\n /* \"#utility.yul\":9370:9488 */\n pop\n /* \"#utility.yul\":8370:9495 */\n swap3\n swap6\n pop\n swap3\n swap6\n swap1\n swap4\n pop\n jump\t// out\n /* \"#utility.yul\":9501:9561 */\n tag_85:\n /* \"#utility.yul\":9529:9532 */\n 0x00\n /* \"#utility.yul\":9550:9555 */\n dup2\n /* \"#utility.yul\":9543:9555 */\n swap1\n pop\n /* \"#utility.yul\":9501:9561 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9567:9709 */\n tag_86:\n /* \"#utility.yul\":9617:9626 */\n 0x00\n /* \"#utility.yul\":9650:9703 */\n tag_214\n /* \"#utility.yul\":9668:9702 */\n tag_215\n /* \"#utility.yul\":9677:9701 */\n tag_216\n /* \"#utility.yul\":9695:9700 */\n dup5\n /* \"#utility.yul\":9677:9701 */\n tag_81\n jump\t// in\n tag_216:\n /* \"#utility.yul\":9668:9702 */\n tag_85\n jump\t// in\n tag_215:\n /* \"#utility.yul\":9650:9703 */\n tag_81\n jump\t// in\n tag_214:\n /* \"#utility.yul\":9637:9703 */\n swap1\n pop\n /* \"#utility.yul\":9567:9709 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9715:9841 */\n tag_87:\n /* \"#utility.yul\":9765:9774 */\n 0x00\n /* \"#utility.yul\":9798:9835 */\n tag_218\n /* \"#utility.yul\":9829:9834 */\n dup3\n /* \"#utility.yul\":9798:9835 */\n tag_86\n jump\t// in\n tag_218:\n /* \"#utility.yul\":9785:9835 */\n swap1\n pop\n /* \"#utility.yul\":9715:9841 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9847:9987 */\n tag_88:\n /* \"#utility.yul\":9911:9920 */\n 0x00\n /* \"#utility.yul\":9944:9981 */\n tag_220\n /* \"#utility.yul\":9975:9980 */\n dup3\n /* \"#utility.yul\":9944:9981 */\n tag_87\n jump\t// in\n tag_220:\n /* \"#utility.yul\":9931:9981 */\n swap1\n pop\n /* \"#utility.yul\":9847:9987 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9993:10152 */\n tag_89:\n /* \"#utility.yul\":10094:10145 */\n tag_222\n /* \"#utility.yul\":10139:10144 */\n dup2\n /* \"#utility.yul\":10094:10145 */\n tag_88\n jump\t// in\n tag_222:\n /* \"#utility.yul\":10089:10092 */\n dup3\n /* \"#utility.yul\":10082:10146 */\n mstore\n /* \"#utility.yul\":9993:10152 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":10158:10408 */\n tag_19:\n /* \"#utility.yul\":10265:10269 */\n 0x00\n /* \"#utility.yul\":10303:10305 */\n 0x20\n /* \"#utility.yul\":10292:10301 */\n dup3\n /* \"#utility.yul\":10288:10306 */\n add\n /* \"#utility.yul\":10280:10306 */\n swap1\n pop\n /* \"#utility.yul\":10316:10401 */\n tag_224\n /* \"#utility.yul\":10398:10399 */\n 0x00\n /* \"#utility.yul\":10387:10396 */\n dup4\n /* \"#utility.yul\":10383:10400 */\n add\n /* \"#utility.yul\":10374:10380 */\n dup5\n /* \"#utility.yul\":10316:10401 */\n tag_89\n jump\t// in\n tag_224:\n /* \"#utility.yul\":10158:10408 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":10414:11609 */\n tag_22:\n /* \"#utility.yul\":10555:10561 */\n 0x00\n /* \"#utility.yul\":10563:10569 */\n dup1\n /* \"#utility.yul\":10571:10577 */\n 0x00\n /* \"#utility.yul\":10579:10585 */\n dup1\n /* \"#utility.yul\":10628:10631 */\n 0x80\n /* \"#utility.yul\":10616:10625 */\n dup6\n /* \"#utility.yul\":10607:10614 */\n dup8\n /* \"#utility.yul\":10603:10626 */\n sub\n /* \"#utility.yul\":10599:10632 */\n slt\n /* \"#utility.yul\":10596:10716 */\n iszero\n tag_226\n jumpi\n /* \"#utility.yul\":10635:10714 */\n tag_227\n tag_53\n jump\t// in\n tag_227:\n /* \"#utility.yul\":10596:10716 */\n tag_226:\n /* \"#utility.yul\":10783:10784 */\n 0x00\n /* \"#utility.yul\":10772:10781 */\n dup6\n /* \"#utility.yul\":10768:10785 */\n add\n /* \"#utility.yul\":10755:10786 */\n calldataload\n /* \"#utility.yul\":10813:10831 */\n 0xffffffffffffffff\n /* \"#utility.yul\":10805:10811 */\n dup2\n /* \"#utility.yul\":10802:10832 */\n gt\n /* \"#utility.yul\":10799:10916 */\n iszero\n tag_228\n jumpi\n /* \"#utility.yul\":10835:10914 */\n tag_229\n tag_54\n jump\t// in\n tag_229:\n /* \"#utility.yul\":10799:10916 */\n tag_228:\n /* \"#utility.yul\":10940:11021 */\n tag_230\n /* \"#utility.yul\":11013:11020 */\n dup8\n /* \"#utility.yul\":11004:11010 */\n dup3\n /* \"#utility.yul\":10993:11002 */\n dup9\n /* \"#utility.yul\":10989:11011 */\n add\n /* \"#utility.yul\":10940:11021 */\n tag_74\n jump\t// in\n tag_230:\n /* \"#utility.yul\":10930:11021 */\n swap5\n pop\n /* \"#utility.yul\":10726:11031 */\n pop\n /* \"#utility.yul\":11070:11072 */\n 0x20\n /* \"#utility.yul\":11096:11149 */\n tag_231\n /* \"#utility.yul\":11141:11148 */\n dup8\n /* \"#utility.yul\":11132:11138 */\n dup3\n /* \"#utility.yul\":11121:11130 */\n dup9\n /* \"#utility.yul\":11117:11139 */\n add\n /* \"#utility.yul\":11096:11149 */\n tag_77\n jump\t// in\n tag_231:\n /* \"#utility.yul\":11086:11149 */\n swap4\n pop\n /* \"#utility.yul\":11041:11159 */\n pop\n /* \"#utility.yul\":11226:11228 */\n 0x40\n /* \"#utility.yul\":11215:11224 */\n dup6\n /* \"#utility.yul\":11211:11229 */\n add\n /* \"#utility.yul\":11198:11230 */\n calldataload\n /* \"#utility.yul\":11257:11275 */\n 0xffffffffffffffff\n /* \"#utility.yul\":11249:11255 */\n dup2\n /* \"#utility.yul\":11246:11276 */\n gt\n /* \"#utility.yul\":11243:11360 */\n iszero\n tag_232\n jumpi\n /* \"#utility.yul\":11279:11358 */\n tag_233\n tag_54\n jump\t// in\n tag_233:\n /* \"#utility.yul\":11243:11360 */\n tag_232:\n /* \"#utility.yul\":11384:11465 */\n tag_234\n /* \"#utility.yul\":11457:11464 */\n dup8\n /* \"#utility.yul\":11448:11454 */\n dup3\n /* \"#utility.yul\":11437:11446 */\n dup9\n /* \"#utility.yul\":11433:11455 */\n add\n /* \"#utility.yul\":11384:11465 */\n tag_74\n jump\t// in\n tag_234:\n /* \"#utility.yul\":11374:11465 */\n swap3\n pop\n /* \"#utility.yul\":11169:11475 */\n pop\n /* \"#utility.yul\":11514:11516 */\n 0x60\n /* \"#utility.yul\":11540:11592 */\n tag_235\n /* \"#utility.yul\":11584:11591 */\n dup8\n /* \"#utility.yul\":11575:11581 */\n dup3\n /* \"#utility.yul\":11564:11573 */\n dup9\n /* \"#utility.yul\":11560:11582 */\n add\n /* \"#utility.yul\":11540:11592 */\n tag_80\n jump\t// in\n tag_235:\n /* \"#utility.yul\":11530:11592 */\n swap2\n pop\n /* \"#utility.yul\":11485:11602 */\n pop\n /* \"#utility.yul\":10414:11609 */\n swap3\n swap6\n swap2\n swap5\n pop\n swap3\n pop\n jump\t// out\n /* \"#utility.yul\":11615:12594 */\n tag_26:\n /* \"#utility.yul\":11728:11734 */\n 0x00\n /* \"#utility.yul\":11736:11742 */\n dup1\n /* \"#utility.yul\":11744:11750 */\n 0x00\n /* \"#utility.yul\":11752:11758 */\n dup1\n /* \"#utility.yul\":11801:11804 */\n 0x80\n /* \"#utility.yul\":11789:11798 */\n dup6\n /* \"#utility.yul\":11780:11787 */\n dup8\n /* \"#utility.yul\":11776:11799 */\n sub\n /* \"#utility.yul\":11772:11805 */\n slt\n /* \"#utility.yul\":11769:11889 */\n iszero\n tag_237\n jumpi\n /* \"#utility.yul\":11808:11887 */\n tag_238\n tag_53\n jump\t// in\n tag_238:\n /* \"#utility.yul\":11769:11889 */\n tag_237:\n /* \"#utility.yul\":11928:11929 */\n 0x00\n /* \"#utility.yul\":11953:12006 */\n tag_239\n /* \"#utility.yul\":11998:12005 */\n dup8\n /* \"#utility.yul\":11989:11995 */\n dup3\n /* \"#utility.yul\":11978:11987 */\n dup9\n /* \"#utility.yul\":11974:11996 */\n add\n /* \"#utility.yul\":11953:12006 */\n tag_84\n jump\t// in\n tag_239:\n /* \"#utility.yul\":11943:12006 */\n swap5\n pop\n /* \"#utility.yul\":11899:12016 */\n pop\n /* \"#utility.yul\":12055:12057 */\n 0x20\n /* \"#utility.yul\":12081:12134 */\n tag_240\n /* \"#utility.yul\":12126:12133 */\n dup8\n /* \"#utility.yul\":12117:12123 */\n dup3\n /* \"#utility.yul\":12106:12115 */\n dup9\n /* \"#utility.yul\":12102:12124 */\n add\n /* \"#utility.yul\":12081:12134 */\n tag_77\n jump\t// in\n tag_240:\n /* \"#utility.yul\":12071:12134 */\n swap4\n pop\n /* \"#utility.yul\":12026:12144 */\n pop\n /* \"#utility.yul\":12211:12213 */\n 0x40\n /* \"#utility.yul\":12200:12209 */\n dup6\n /* \"#utility.yul\":12196:12214 */\n add\n /* \"#utility.yul\":12183:12215 */\n calldataload\n /* \"#utility.yul\":12242:12260 */\n 0xffffffffffffffff\n /* \"#utility.yul\":12234:12240 */\n dup2\n /* \"#utility.yul\":12231:12261 */\n gt\n /* \"#utility.yul\":12228:12345 */\n iszero\n tag_241\n jumpi\n /* \"#utility.yul\":12264:12343 */\n tag_242\n tag_54\n jump\t// in\n tag_242:\n /* \"#utility.yul\":12228:12345 */\n tag_241:\n /* \"#utility.yul\":12369:12450 */\n tag_243\n /* \"#utility.yul\":12442:12449 */\n dup8\n /* \"#utility.yul\":12433:12439 */\n dup3\n /* \"#utility.yul\":12422:12431 */\n dup9\n /* \"#utility.yul\":12418:12440 */\n add\n /* \"#utility.yul\":12369:12450 */\n tag_74\n jump\t// in\n tag_243:\n /* \"#utility.yul\":12359:12450 */\n swap3\n pop\n /* \"#utility.yul\":12154:12460 */\n pop\n /* \"#utility.yul\":12499:12501 */\n 0x60\n /* \"#utility.yul\":12525:12577 */\n tag_244\n /* \"#utility.yul\":12569:12576 */\n dup8\n /* \"#utility.yul\":12560:12566 */\n dup3\n /* \"#utility.yul\":12549:12558 */\n dup9\n /* \"#utility.yul\":12545:12567 */\n add\n /* \"#utility.yul\":12525:12577 */\n tag_80\n jump\t// in\n tag_244:\n /* \"#utility.yul\":12515:12577 */\n swap2\n pop\n /* \"#utility.yul\":12470:12587 */\n pop\n /* \"#utility.yul\":11615:12594 */\n swap3\n swap6\n swap2\n swap5\n pop\n swap3\n pop\n jump\t// out\n /* \"#utility.yul\":12600:12702 */\n tag_90:\n /* \"#utility.yul\":12673:12695 */\n tag_246\n /* \"#utility.yul\":12689:12694 */\n dup2\n /* \"#utility.yul\":12673:12695 */\n tag_61\n jump\t// in\n tag_246:\n /* \"#utility.yul\":12668:12671 */\n dup3\n /* \"#utility.yul\":12661:12696 */\n mstore\n /* \"#utility.yul\":12600:12702 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12708:12831 */\n tag_91:\n /* \"#utility.yul\":12784:12790 */\n 0x00\n /* \"#utility.yul\":12818:12823 */\n dup2\n /* \"#utility.yul\":12812:12824 */\n mload\n /* \"#utility.yul\":12802:12824 */\n swap1\n pop\n /* \"#utility.yul\":12708:12831 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12837:13020 */\n tag_92:\n /* \"#utility.yul\":12935:12946 */\n 0x00\n /* \"#utility.yul\":12969:12975 */\n dup3\n /* \"#utility.yul\":12964:12967 */\n dup3\n /* \"#utility.yul\":12957:12976 */\n mstore\n /* \"#utility.yul\":13009:13013 */\n 0x20\n /* \"#utility.yul\":13004:13007 */\n dup3\n /* \"#utility.yul\":13000:13014 */\n add\n /* \"#utility.yul\":12985:13014 */\n swap1\n pop\n /* \"#utility.yul\":12837:13020 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":13026:13167 */\n tag_93:\n /* \"#utility.yul\":13102:13106 */\n 0x00\n /* \"#utility.yul\":13125:13128 */\n dup2\n /* \"#utility.yul\":13117:13128 */\n swap1\n pop\n /* \"#utility.yul\":13155:13159 */\n 0x20\n /* \"#utility.yul\":13150:13153 */\n dup3\n /* \"#utility.yul\":13146:13160 */\n add\n /* \"#utility.yul\":13138:13160 */\n swap1\n pop\n /* \"#utility.yul\":13026:13167 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":13173:13271 */\n tag_94:\n /* \"#utility.yul\":13224:13230 */\n 0x00\n /* \"#utility.yul\":13258:13263 */\n dup2\n /* \"#utility.yul\":13252:13264 */\n mload\n /* \"#utility.yul\":13242:13264 */\n swap1\n pop\n /* \"#utility.yul\":13173:13271 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":13277:13435 */\n tag_95:\n /* \"#utility.yul\":13350:13361 */\n 0x00\n /* \"#utility.yul\":13384:13390 */\n dup3\n /* \"#utility.yul\":13379:13382 */\n dup3\n /* \"#utility.yul\":13372:13391 */\n mstore\n /* \"#utility.yul\":13424:13428 */\n 0x20\n /* \"#utility.yul\":13419:13422 */\n dup3\n /* \"#utility.yul\":13415:13429 */\n add\n /* \"#utility.yul\":13400:13429 */\n swap1\n pop\n /* \"#utility.yul\":13277:13435 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":13441:13748 */\n tag_96:\n /* \"#utility.yul\":13509:13510 */\n 0x00\n /* \"#utility.yul\":13519:13632 */\n tag_253:\n /* \"#utility.yul\":13533:13539 */\n dup4\n /* \"#utility.yul\":13530:13531 */\n dup2\n /* \"#utility.yul\":13527:13540 */\n lt\n /* \"#utility.yul\":13519:13632 */\n iszero\n tag_255\n jumpi\n /* \"#utility.yul\":13618:13619 */\n dup1\n /* \"#utility.yul\":13613:13616 */\n dup3\n /* \"#utility.yul\":13609:13620 */\n add\n /* \"#utility.yul\":13603:13621 */\n mload\n /* \"#utility.yul\":13599:13600 */\n dup2\n /* \"#utility.yul\":13594:13597 */\n dup5\n /* \"#utility.yul\":13590:13601 */\n add\n /* \"#utility.yul\":13583:13622 */\n mstore\n /* \"#utility.yul\":13555:13557 */\n 0x20\n /* \"#utility.yul\":13552:13553 */\n dup2\n /* \"#utility.yul\":13548:13558 */\n add\n /* \"#utility.yul\":13543:13558 */\n swap1\n pop\n /* \"#utility.yul\":13519:13632 */\n jump(tag_253)\n tag_255:\n /* \"#utility.yul\":13650:13656 */\n dup4\n /* \"#utility.yul\":13647:13648 */\n dup2\n /* \"#utility.yul\":13644:13657 */\n gt\n /* \"#utility.yul\":13641:13742 */\n iszero\n tag_256\n jumpi\n /* \"#utility.yul\":13730:13731 */\n 0x00\n /* \"#utility.yul\":13721:13727 */\n dup5\n /* \"#utility.yul\":13716:13719 */\n dup5\n /* \"#utility.yul\":13712:13728 */\n add\n /* \"#utility.yul\":13705:13732 */\n mstore\n /* \"#utility.yul\":13641:13742 */\n tag_256:\n /* \"#utility.yul\":13490:13748 */\n pop\n /* \"#utility.yul\":13441:13748 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":13754:14094 */\n tag_97:\n /* \"#utility.yul\":13830:13833 */\n 0x00\n /* \"#utility.yul\":13858:13896 */\n tag_258\n /* \"#utility.yul\":13890:13895 */\n dup3\n /* \"#utility.yul\":13858:13896 */\n tag_94\n jump\t// in\n tag_258:\n /* \"#utility.yul\":13912:13972 */\n tag_259\n /* \"#utility.yul\":13965:13971 */\n dup2\n /* \"#utility.yul\":13960:13963 */\n dup6\n /* \"#utility.yul\":13912:13972 */\n tag_95\n jump\t// in\n tag_259:\n /* \"#utility.yul\":13905:13972 */\n swap4\n pop\n /* \"#utility.yul\":13981:14033 */\n tag_260\n /* \"#utility.yul\":14026:14032 */\n dup2\n /* \"#utility.yul\":14021:14024 */\n dup6\n /* \"#utility.yul\":14014:14018 */\n 0x20\n /* \"#utility.yul\":14007:14012 */\n dup7\n /* \"#utility.yul\":14003:14019 */\n add\n /* \"#utility.yul\":13981:14033 */\n tag_96\n jump\t// in\n tag_260:\n /* \"#utility.yul\":14058:14087 */\n tag_261\n /* \"#utility.yul\":14080:14086 */\n dup2\n /* \"#utility.yul\":14058:14087 */\n tag_56\n jump\t// in\n tag_261:\n /* \"#utility.yul\":14053:14056 */\n dup5\n /* \"#utility.yul\":14049:14088 */\n add\n /* \"#utility.yul\":14042:14088 */\n swap2\n pop\n /* \"#utility.yul\":13834:14094 */\n pop\n /* \"#utility.yul\":13754:14094 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":14100:14292 */\n tag_98:\n /* \"#utility.yul\":14187:14197 */\n 0x00\n /* \"#utility.yul\":14222:14286 */\n tag_263\n /* \"#utility.yul\":14282:14285 */\n dup4\n /* \"#utility.yul\":14274:14280 */\n dup4\n /* \"#utility.yul\":14222:14286 */\n tag_97\n jump\t// in\n tag_263:\n /* \"#utility.yul\":14208:14286 */\n swap1\n pop\n /* \"#utility.yul\":14100:14292 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":14298:14420 */\n tag_99:\n /* \"#utility.yul\":14377:14381 */\n 0x00\n /* \"#utility.yul\":14409:14413 */\n 0x20\n /* \"#utility.yul\":14404:14407 */\n dup3\n /* \"#utility.yul\":14400:14414 */\n add\n /* \"#utility.yul\":14392:14414 */\n swap1\n pop\n /* \"#utility.yul\":14298:14420 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":14452:15415 */\n tag_100:\n /* \"#utility.yul\":14579:14582 */\n 0x00\n /* \"#utility.yul\":14608:14671 */\n tag_266\n /* \"#utility.yul\":14665:14670 */\n dup3\n /* \"#utility.yul\":14608:14671 */\n tag_91\n jump\t// in\n tag_266:\n /* \"#utility.yul\":14687:14772 */\n tag_267\n /* \"#utility.yul\":14765:14771 */\n dup2\n /* \"#utility.yul\":14760:14763 */\n dup6\n /* \"#utility.yul\":14687:14772 */\n tag_92\n jump\t// in\n tag_267:\n /* \"#utility.yul\":14680:14772 */\n swap4\n pop\n /* \"#utility.yul\":14798:14801 */\n dup4\n /* \"#utility.yul\":14843:14847 */\n 0x20\n /* \"#utility.yul\":14835:14841 */\n dup3\n /* \"#utility.yul\":14831:14848 */\n mul\n /* \"#utility.yul\":14826:14829 */\n dup6\n /* \"#utility.yul\":14822:14849 */\n add\n /* \"#utility.yul\":14873:14938 */\n tag_268\n /* \"#utility.yul\":14932:14937 */\n dup6\n /* \"#utility.yul\":14873:14938 */\n tag_93\n jump\t// in\n tag_268:\n /* \"#utility.yul\":14961:14968 */\n dup1\n /* \"#utility.yul\":14992:14993 */\n 0x00\n /* \"#utility.yul\":14977:15370 */\n tag_269:\n /* \"#utility.yul\":15002:15008 */\n dup6\n /* \"#utility.yul\":14999:15000 */\n dup2\n /* \"#utility.yul\":14996:15009 */\n lt\n /* \"#utility.yul\":14977:15370 */\n iszero\n tag_271\n jumpi\n /* \"#utility.yul\":15073:15082 */\n dup5\n /* \"#utility.yul\":15067:15071 */\n dup5\n /* \"#utility.yul\":15063:15083 */\n sub\n /* \"#utility.yul\":15058:15061 */\n dup10\n /* \"#utility.yul\":15051:15084 */\n mstore\n /* \"#utility.yul\":15124:15130 */\n dup2\n /* \"#utility.yul\":15118:15131 */\n mload\n /* \"#utility.yul\":15152:15234 */\n tag_272\n /* \"#utility.yul\":15229:15233 */\n dup6\n /* \"#utility.yul\":15214:15227 */\n dup3\n /* \"#utility.yul\":15152:15234 */\n tag_98\n jump\t// in\n tag_272:\n /* \"#utility.yul\":15144:15234 */\n swap5\n pop\n /* \"#utility.yul\":15257:15326 */\n tag_273\n /* \"#utility.yul\":15319:15325 */\n dup4\n /* \"#utility.yul\":15257:15326 */\n tag_99\n jump\t// in\n tag_273:\n /* \"#utility.yul\":15247:15326 */\n swap3\n pop\n /* \"#utility.yul\":15355:15359 */\n 0x20\n /* \"#utility.yul\":15350:15353 */\n dup11\n /* \"#utility.yul\":15346:15360 */\n add\n /* \"#utility.yul\":15339:15360 */\n swap10\n pop\n /* \"#utility.yul\":15037:15370 */\n pop\n /* \"#utility.yul\":15024:15025 */\n 0x01\n /* \"#utility.yul\":15021:15022 */\n dup2\n /* \"#utility.yul\":15017:15026 */\n add\n /* \"#utility.yul\":15012:15026 */\n swap1\n pop\n /* \"#utility.yul\":14977:15370 */\n jump(tag_269)\n tag_271:\n /* \"#utility.yul\":14981:14995 */\n pop\n /* \"#utility.yul\":15386:15390 */\n dup3\n /* \"#utility.yul\":15379:15390 */\n swap8\n pop\n /* \"#utility.yul\":15406:15409 */\n dup8\n /* \"#utility.yul\":15399:15409 */\n swap6\n pop\n /* \"#utility.yul\":14584:15415 */\n pop\n pop\n pop\n pop\n pop\n /* \"#utility.yul\":14452:15415 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":15489:16152 */\n tag_101:\n /* \"#utility.yul\":15614:15617 */\n 0x00\n /* \"#utility.yul\":15650:15654 */\n 0x40\n /* \"#utility.yul\":15645:15648 */\n dup4\n /* \"#utility.yul\":15641:15655 */\n add\n /* \"#utility.yul\":15740:15744 */\n 0x00\n /* \"#utility.yul\":15733:15738 */\n dup4\n /* \"#utility.yul\":15729:15745 */\n add\n /* \"#utility.yul\":15723:15746 */\n mload\n /* \"#utility.yul\":15759:15818 */\n tag_275\n /* \"#utility.yul\":15812:15816 */\n 0x00\n /* \"#utility.yul\":15807:15810 */\n dup7\n /* \"#utility.yul\":15803:15817 */\n add\n /* \"#utility.yul\":15789:15801 */\n dup3\n /* \"#utility.yul\":15759:15818 */\n tag_90\n jump\t// in\n tag_275:\n /* \"#utility.yul\":15665:15828 */\n pop\n /* \"#utility.yul\":15914:15918 */\n 0x20\n /* \"#utility.yul\":15907:15912 */\n dup4\n /* \"#utility.yul\":15903:15919 */\n add\n /* \"#utility.yul\":15897:15920 */\n mload\n /* \"#utility.yul\":15967:15970 */\n dup5\n /* \"#utility.yul\":15961:15965 */\n dup3\n /* \"#utility.yul\":15957:15971 */\n sub\n /* \"#utility.yul\":15950:15954 */\n 0x20\n /* \"#utility.yul\":15945:15948 */\n dup7\n /* \"#utility.yul\":15941:15955 */\n add\n /* \"#utility.yul\":15934:15972 */\n mstore\n /* \"#utility.yul\":15993:16114 */\n tag_276\n /* \"#utility.yul\":16109:16113 */\n dup3\n /* \"#utility.yul\":16095:16107 */\n dup3\n /* \"#utility.yul\":15993:16114 */\n tag_100\n jump\t// in\n tag_276:\n /* \"#utility.yul\":15985:16114 */\n swap2\n pop\n /* \"#utility.yul\":15838:16125 */\n pop\n /* \"#utility.yul\":16142:16146 */\n dup1\n /* \"#utility.yul\":16135:16146 */\n swap2\n pop\n /* \"#utility.yul\":15619:16152 */\n pop\n /* \"#utility.yul\":15489:16152 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":16158:16276 */\n tag_102:\n /* \"#utility.yul\":16245:16269 */\n tag_278\n /* \"#utility.yul\":16263:16268 */\n dup2\n /* \"#utility.yul\":16245:16269 */\n tag_75\n jump\t// in\n tag_278:\n /* \"#utility.yul\":16240:16243 */\n dup3\n /* \"#utility.yul\":16233:16270 */\n mstore\n /* \"#utility.yul\":16158:16276 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":16282:16397 */\n tag_103:\n /* \"#utility.yul\":16367:16390 */\n tag_280\n /* \"#utility.yul\":16384:16389 */\n dup2\n /* \"#utility.yul\":16367:16390 */\n tag_78\n jump\t// in\n tag_280:\n /* \"#utility.yul\":16362:16365 */\n dup3\n /* \"#utility.yul\":16355:16391 */\n mstore\n /* \"#utility.yul\":16282:16397 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":16403:17389 */\n tag_30:\n /* \"#utility.yul\":16718:16722 */\n 0x00\n /* \"#utility.yul\":16756:16759 */\n 0xa0\n /* \"#utility.yul\":16745:16754 */\n dup3\n /* \"#utility.yul\":16741:16760 */\n add\n /* \"#utility.yul\":16733:16760 */\n swap1\n pop\n /* \"#utility.yul\":16806:16815 */\n dup2\n /* \"#utility.yul\":16800:16804 */\n dup2\n /* \"#utility.yul\":16796:16816 */\n sub\n /* \"#utility.yul\":16792:16793 */\n 0x00\n /* \"#utility.yul\":16781:16790 */\n dup4\n /* \"#utility.yul\":16777:16794 */\n add\n /* \"#utility.yul\":16770:16817 */\n mstore\n /* \"#utility.yul\":16834:16948 */\n tag_282\n /* \"#utility.yul\":16943:16947 */\n dup2\n /* \"#utility.yul\":16934:16940 */\n dup9\n /* \"#utility.yul\":16834:16948 */\n tag_101\n jump\t// in\n tag_282:\n /* \"#utility.yul\":16826:16948 */\n swap1\n pop\n /* \"#utility.yul\":16958:17030 */\n tag_283\n /* \"#utility.yul\":17026:17028 */\n 0x20\n /* \"#utility.yul\":17015:17024 */\n dup4\n /* \"#utility.yul\":17011:17029 */\n add\n /* \"#utility.yul\":17002:17008 */\n dup8\n /* \"#utility.yul\":16958:17030 */\n tag_102\n jump\t// in\n tag_283:\n /* \"#utility.yul\":17040:17112 */\n tag_284\n /* \"#utility.yul\":17108:17110 */\n 0x40\n /* \"#utility.yul\":17097:17106 */\n dup4\n /* \"#utility.yul\":17093:17111 */\n add\n /* \"#utility.yul\":17084:17090 */\n dup7\n /* \"#utility.yul\":17040:17112 */\n tag_102\n jump\t// in\n tag_284:\n /* \"#utility.yul\":17159:17168 */\n dup2\n /* \"#utility.yul\":17153:17157 */\n dup2\n /* \"#utility.yul\":17149:17169 */\n sub\n /* \"#utility.yul\":17144:17146 */\n 0x60\n /* \"#utility.yul\":17133:17142 */\n dup4\n /* \"#utility.yul\":17129:17147 */\n add\n /* \"#utility.yul\":17122:17170 */\n mstore\n /* \"#utility.yul\":17187:17301 */\n tag_285\n /* \"#utility.yul\":17296:17300 */\n dup2\n /* \"#utility.yul\":17287:17293 */\n dup6\n /* \"#utility.yul\":17187:17301 */\n tag_101\n jump\t// in\n tag_285:\n /* \"#utility.yul\":17179:17301 */\n swap1\n pop\n /* \"#utility.yul\":17311:17382 */\n tag_286\n /* \"#utility.yul\":17377:17380 */\n 0x80\n /* \"#utility.yul\":17366:17375 */\n dup4\n /* \"#utility.yul\":17362:17381 */\n add\n /* \"#utility.yul\":17353:17359 */\n dup5\n /* \"#utility.yul\":17311:17382 */\n tag_103\n jump\t// in\n tag_286:\n /* \"#utility.yul\":16403:17389 */\n swap7\n swap6\n pop\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":17395:17513 */\n tag_104:\n /* \"#utility.yul\":17482:17506 */\n tag_288\n /* \"#utility.yul\":17500:17505 */\n dup2\n /* \"#utility.yul\":17482:17506 */\n tag_82\n jump\t// in\n tag_288:\n /* \"#utility.yul\":17477:17480 */\n dup3\n /* \"#utility.yul\":17470:17507 */\n mstore\n /* \"#utility.yul\":17395:17513 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":17519:18342 */\n tag_36:\n /* \"#utility.yul\":17778:17782 */\n 0x00\n /* \"#utility.yul\":17816:17819 */\n 0xa0\n /* \"#utility.yul\":17805:17814 */\n dup3\n /* \"#utility.yul\":17801:17820 */\n add\n /* \"#utility.yul\":17793:17820 */\n swap1\n pop\n /* \"#utility.yul\":17830:17901 */\n tag_290\n /* \"#utility.yul\":17898:17899 */\n 0x00\n /* \"#utility.yul\":17887:17896 */\n dup4\n /* \"#utility.yul\":17883:17900 */\n add\n /* \"#utility.yul\":17874:17880 */\n dup9\n /* \"#utility.yul\":17830:17901 */\n tag_104\n jump\t// in\n tag_290:\n /* \"#utility.yul\":17911:17983 */\n tag_291\n /* \"#utility.yul\":17979:17981 */\n 0x20\n /* \"#utility.yul\":17968:17977 */\n dup4\n /* \"#utility.yul\":17964:17982 */\n add\n /* \"#utility.yul\":17955:17961 */\n dup8\n /* \"#utility.yul\":17911:17983 */\n tag_102\n jump\t// in\n tag_291:\n /* \"#utility.yul\":17993:18065 */\n tag_292\n /* \"#utility.yul\":18061:18063 */\n 0x40\n /* \"#utility.yul\":18050:18059 */\n dup4\n /* \"#utility.yul\":18046:18064 */\n add\n /* \"#utility.yul\":18037:18043 */\n dup7\n /* \"#utility.yul\":17993:18065 */\n tag_102\n jump\t// in\n tag_292:\n /* \"#utility.yul\":18112:18121 */\n dup2\n /* \"#utility.yul\":18106:18110 */\n dup2\n /* \"#utility.yul\":18102:18122 */\n sub\n /* \"#utility.yul\":18097:18099 */\n 0x60\n /* \"#utility.yul\":18086:18095 */\n dup4\n /* \"#utility.yul\":18082:18100 */\n add\n /* \"#utility.yul\":18075:18123 */\n mstore\n /* \"#utility.yul\":18140:18254 */\n tag_293\n /* \"#utility.yul\":18249:18253 */\n dup2\n /* \"#utility.yul\":18240:18246 */\n dup6\n /* \"#utility.yul\":18140:18254 */\n tag_101\n jump\t// in\n tag_293:\n /* \"#utility.yul\":18132:18254 */\n swap1\n pop\n /* \"#utility.yul\":18264:18335 */\n tag_294\n /* \"#utility.yul\":18330:18333 */\n 0x80\n /* \"#utility.yul\":18319:18328 */\n dup4\n /* \"#utility.yul\":18315:18334 */\n add\n /* \"#utility.yul\":18306:18312 */\n dup5\n /* \"#utility.yul\":18264:18335 */\n tag_103\n jump\t// in\n tag_294:\n /* \"#utility.yul\":17519:18342 */\n swap7\n swap6\n pop\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":18348:19223 */\n tag_42:\n /* \"#utility.yul\":18635:18639 */\n 0x00\n /* \"#utility.yul\":18673:18676 */\n 0x80\n /* \"#utility.yul\":18662:18671 */\n dup3\n /* \"#utility.yul\":18658:18677 */\n add\n /* \"#utility.yul\":18650:18677 */\n swap1\n pop\n /* \"#utility.yul\":18723:18732 */\n dup2\n /* \"#utility.yul\":18717:18721 */\n dup2\n /* \"#utility.yul\":18713:18733 */\n sub\n /* \"#utility.yul\":18709:18710 */\n 0x00\n /* \"#utility.yul\":18698:18707 */\n dup4\n /* \"#utility.yul\":18694:18711 */\n add\n /* \"#utility.yul\":18687:18734 */\n mstore\n /* \"#utility.yul\":18751:18865 */\n tag_296\n /* \"#utility.yul\":18860:18864 */\n dup2\n /* \"#utility.yul\":18851:18857 */\n dup8\n /* \"#utility.yul\":18751:18865 */\n tag_101\n jump\t// in\n tag_296:\n /* \"#utility.yul\":18743:18865 */\n swap1\n pop\n /* \"#utility.yul\":18875:18947 */\n tag_297\n /* \"#utility.yul\":18943:18945 */\n 0x20\n /* \"#utility.yul\":18932:18941 */\n dup4\n /* \"#utility.yul\":18928:18946 */\n add\n /* \"#utility.yul\":18919:18925 */\n dup7\n /* \"#utility.yul\":18875:18947 */\n tag_102\n jump\t// in\n tag_297:\n /* \"#utility.yul\":18994:19003 */\n dup2\n /* \"#utility.yul\":18988:18992 */\n dup2\n /* \"#utility.yul\":18984:19004 */\n sub\n /* \"#utility.yul\":18979:18981 */\n 0x40\n /* \"#utility.yul\":18968:18977 */\n dup4\n /* \"#utility.yul\":18964:18982 */\n add\n /* \"#utility.yul\":18957:19005 */\n mstore\n /* \"#utility.yul\":19022:19136 */\n tag_298\n /* \"#utility.yul\":19131:19135 */\n dup2\n /* \"#utility.yul\":19122:19128 */\n dup6\n /* \"#utility.yul\":19022:19136 */\n tag_101\n jump\t// in\n tag_298:\n /* \"#utility.yul\":19014:19136 */\n swap1\n pop\n /* \"#utility.yul\":19146:19216 */\n tag_299\n /* \"#utility.yul\":19212:19214 */\n 0x60\n /* \"#utility.yul\":19201:19210 */\n dup4\n /* \"#utility.yul\":19197:19215 */\n add\n /* \"#utility.yul\":19188:19194 */\n dup5\n /* \"#utility.yul\":19146:19216 */\n tag_103\n jump\t// in\n tag_299:\n /* \"#utility.yul\":18348:19223 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":19229:19941 */\n tag_48:\n /* \"#utility.yul\":19460:19464 */\n 0x00\n /* \"#utility.yul\":19498:19501 */\n 0x80\n /* \"#utility.yul\":19487:19496 */\n dup3\n /* \"#utility.yul\":19483:19502 */\n add\n /* \"#utility.yul\":19475:19502 */\n swap1\n pop\n /* \"#utility.yul\":19512:19583 */\n tag_301\n /* \"#utility.yul\":19580:19581 */\n 0x00\n /* \"#utility.yul\":19569:19578 */\n dup4\n /* \"#utility.yul\":19565:19582 */\n add\n /* \"#utility.yul\":19556:19562 */\n dup8\n /* \"#utility.yul\":19512:19583 */\n tag_104\n jump\t// in\n tag_301:\n /* \"#utility.yul\":19593:19665 */\n tag_302\n /* \"#utility.yul\":19661:19663 */\n 0x20\n /* \"#utility.yul\":19650:19659 */\n dup4\n /* \"#utility.yul\":19646:19664 */\n add\n /* \"#utility.yul\":19637:19643 */\n dup7\n /* \"#utility.yul\":19593:19665 */\n tag_102\n jump\t// in\n tag_302:\n /* \"#utility.yul\":19712:19721 */\n dup2\n /* \"#utility.yul\":19706:19710 */\n dup2\n /* \"#utility.yul\":19702:19722 */\n sub\n /* \"#utility.yul\":19697:19699 */\n 0x40\n /* \"#utility.yul\":19686:19695 */\n dup4\n /* \"#utility.yul\":19682:19700 */\n add\n /* \"#utility.yul\":19675:19723 */\n mstore\n /* \"#utility.yul\":19740:19854 */\n tag_303\n /* \"#utility.yul\":19849:19853 */\n dup2\n /* \"#utility.yul\":19840:19846 */\n dup6\n /* \"#utility.yul\":19740:19854 */\n tag_101\n jump\t// in\n tag_303:\n /* \"#utility.yul\":19732:19854 */\n swap1\n pop\n /* \"#utility.yul\":19864:19934 */\n tag_304\n /* \"#utility.yul\":19930:19932 */\n 0x60\n /* \"#utility.yul\":19919:19928 */\n dup4\n /* \"#utility.yul\":19915:19933 */\n add\n /* \"#utility.yul\":19906:19912 */\n dup5\n /* \"#utility.yul\":19864:19934 */\n tag_103\n jump\t// in\n tag_304:\n /* \"#utility.yul\":19229:19941 */\n swap6\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220b24a0202511e20cccc8541601dc2b5ae2c631e77b614484a53c260036f97e79d64736f6c634300080a0033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60806040526108046000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005257600080fd5b506109c0806100626000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063af3dcee814610046578063b38c60fa14610064578063b9f813ff14610080575b600080fd5b61004e61009c565b60405161005b9190610692565b60405180910390f35b61007e6004803603810190610079919061045d565b6100c0565b005b61009a600480360381019061009591906103da565b610157565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b38c60fa858585856040518563ffffffff1660e01b815260040161011f94939291906106ad565b600060405180830381600087803b15801561013957600080fd5b505af115801561014d573d6000803e3d6000fd5b5050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9f813ff858585856040518563ffffffff1660e01b81526004016101b69493929190610646565b600060405180830381600087803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050505050505050565b60006102016101fc84610725565b610700565b9050808382526020820190508285602086028201111561022457610223610909565b5b60005b8581101561027257813567ffffffffffffffff81111561024a576102496108fa565b5b8086016102578982610301565b85526020850194506020840193505050600181019050610227565b5050509392505050565b600061028f61028a84610751565b610700565b9050828152602081018484840111156102ab576102aa61090e565b5b6102b6848285610858565b509392505050565b6000813590506102cd8161092e565b92915050565b600082601f8301126102e8576102e76108fa565b5b81356102f88482602086016101ee565b91505092915050565b600082601f830112610316576103156108fa565b5b813561032684826020860161027c565b91505092915050565b600060408284031215610345576103446108ff565b5b61034f6040610700565b9050600061035f848285016103c5565b600083015250602082013567ffffffffffffffff81111561038357610382610904565b5b61038f848285016102d3565b60208301525092915050565b6000813590506103aa81610945565b92915050565b6000813590506103bf8161095c565b92915050565b6000813590506103d481610973565b92915050565b600080600080608085870312156103f4576103f3610918565b5b6000610402878288016102be565b94505060206104138782880161039b565b935050604085013567ffffffffffffffff81111561043457610433610913565b5b6104408782880161032f565b9250506060610451878288016103b0565b91505092959194509250565b6000806000806080858703121561047757610476610918565b5b600085013567ffffffffffffffff81111561049557610494610913565b5b6104a18782880161032f565b94505060206104b28782880161039b565b935050604085013567ffffffffffffffff8111156104d3576104d2610913565b5b6104df8782880161032f565b92505060606104f0878288016103b0565b91505092959194509250565b60006105088383610594565b905092915050565b610519816107d7565b82525050565b600061052a82610792565b61053481856107b5565b93508360208202850161054685610782565b8060005b85811015610582578484038952815161056385826104fc565b945061056e836107a8565b925060208a0199505060018101905061054a565b50829750879550505050505092915050565b600061059f8261079d565b6105a981856107c6565b93506105b9818560208601610867565b6105c28161091d565b840191505092915050565b6105d681610834565b82525050565b60006040830160008301516105f46000860182610637565b506020830151848203602086015261060c828261051f565b9150508091505092915050565b61062281610809565b82525050565b61063181610813565b82525050565b61064081610827565b82525050565b600060808201905061065b6000830187610510565b6106686020830186610619565b818103604083015261067a81856105dc565b90506106896060830184610628565b95945050505050565b60006020820190506106a760008301846105cd565b92915050565b600060808201905081810360008301526106c781876105dc565b90506106d66020830186610619565b81810360408301526106e881856105dc565b90506106f76060830184610628565b95945050505050565b600061070a61071b565b9050610716828261089a565b919050565b6000604051905090565b600067ffffffffffffffff8211156107405761073f6108cb565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561076c5761076b6108cb565b5b6107758261091d565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107e2826107e9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061083f82610846565b9050919050565b6000610851826107e9565b9050919050565b82818337600083830152505050565b60005b8381101561088557808201518184015260208101905061086a565b83811115610894576000848401525b50505050565b6108a38261091d565b810181811067ffffffffffffffff821117156108c2576108c16108cb565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610937816107d7565b811461094257600080fd5b50565b61094e81610809565b811461095957600080fd5b50565b61096581610813565b811461097057600080fd5b50565b61097c81610827565b811461098757600080fd5b5056fea2646970667358221220575d5f70ce7c46f061274cb948a465f99735e8b3fb5cd407fd2e79a17e0e62d364736f6c63430008060033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0x804 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C0 DUP1 PUSH2 0x62 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAF3DCEE8 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xB38C60FA EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xB9F813FF EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x692 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x45D JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x3DA JUMP JUMPDEST PUSH2 0x157 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB38C60FA DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x6AD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x139 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB9F813FF DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x646 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201 PUSH2 0x1FC DUP5 PUSH2 0x725 JUMP JUMPDEST PUSH2 0x700 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x224 JUMPI PUSH2 0x223 PUSH2 0x909 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x272 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x24A JUMPI PUSH2 0x249 PUSH2 0x8FA JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x257 DUP10 DUP3 PUSH2 0x301 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x227 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F PUSH2 0x28A DUP5 PUSH2 0x751 JUMP JUMPDEST PUSH2 0x700 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2AB JUMPI PUSH2 0x2AA PUSH2 0x90E JUMP JUMPDEST JUMPDEST PUSH2 0x2B6 DUP5 DUP3 DUP6 PUSH2 0x858 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2CD DUP2 PUSH2 0x92E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2E8 JUMPI PUSH2 0x2E7 PUSH2 0x8FA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2F8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x316 JUMPI PUSH2 0x315 PUSH2 0x8FA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x326 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x27C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x345 JUMPI PUSH2 0x344 PUSH2 0x8FF JUMP JUMPDEST JUMPDEST PUSH2 0x34F PUSH1 0x40 PUSH2 0x700 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x35F DUP5 DUP3 DUP6 ADD PUSH2 0x3C5 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x383 JUMPI PUSH2 0x382 PUSH2 0x904 JUMP JUMPDEST JUMPDEST PUSH2 0x38F DUP5 DUP3 DUP6 ADD PUSH2 0x2D3 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3AA DUP2 PUSH2 0x945 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3BF DUP2 PUSH2 0x95C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3D4 DUP2 PUSH2 0x973 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3F4 JUMPI PUSH2 0x3F3 PUSH2 0x918 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x402 DUP8 DUP3 DUP9 ADD PUSH2 0x2BE JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x413 DUP8 DUP3 DUP9 ADD PUSH2 0x39B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x434 JUMPI PUSH2 0x433 PUSH2 0x913 JUMP JUMPDEST JUMPDEST PUSH2 0x440 DUP8 DUP3 DUP9 ADD PUSH2 0x32F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x451 DUP8 DUP3 DUP9 ADD PUSH2 0x3B0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x477 JUMPI PUSH2 0x476 PUSH2 0x918 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x495 JUMPI PUSH2 0x494 PUSH2 0x913 JUMP JUMPDEST JUMPDEST PUSH2 0x4A1 DUP8 DUP3 DUP9 ADD PUSH2 0x32F JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x4B2 DUP8 DUP3 DUP9 ADD PUSH2 0x39B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4D3 JUMPI PUSH2 0x4D2 PUSH2 0x913 JUMP JUMPDEST JUMPDEST PUSH2 0x4DF DUP8 DUP3 DUP9 ADD PUSH2 0x32F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x4F0 DUP8 DUP3 DUP9 ADD PUSH2 0x3B0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x508 DUP4 DUP4 PUSH2 0x594 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x519 DUP2 PUSH2 0x7D7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x52A DUP3 PUSH2 0x792 JUMP JUMPDEST PUSH2 0x534 DUP2 DUP6 PUSH2 0x7B5 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x546 DUP6 PUSH2 0x782 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x582 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x563 DUP6 DUP3 PUSH2 0x4FC JUMP JUMPDEST SWAP5 POP PUSH2 0x56E DUP4 PUSH2 0x7A8 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x54A JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x59F DUP3 PUSH2 0x79D JUMP JUMPDEST PUSH2 0x5A9 DUP2 DUP6 PUSH2 0x7C6 JUMP JUMPDEST SWAP4 POP PUSH2 0x5B9 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x867 JUMP JUMPDEST PUSH2 0x5C2 DUP2 PUSH2 0x91D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5D6 DUP2 PUSH2 0x834 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x5F4 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x637 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x60C DUP3 DUP3 PUSH2 0x51F JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x622 DUP2 PUSH2 0x809 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x631 DUP2 PUSH2 0x813 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x640 DUP2 PUSH2 0x827 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x65B PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x510 JUMP JUMPDEST PUSH2 0x668 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x619 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x67A DUP2 DUP6 PUSH2 0x5DC JUMP JUMPDEST SWAP1 POP PUSH2 0x689 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x628 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6A7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6C7 DUP2 DUP8 PUSH2 0x5DC JUMP JUMPDEST SWAP1 POP PUSH2 0x6D6 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x619 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x6E8 DUP2 DUP6 PUSH2 0x5DC JUMP JUMPDEST SWAP1 POP PUSH2 0x6F7 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x628 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x70A PUSH2 0x71B JUMP JUMPDEST SWAP1 POP PUSH2 0x716 DUP3 DUP3 PUSH2 0x89A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x740 JUMPI PUSH2 0x73F PUSH2 0x8CB JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x76C JUMPI PUSH2 0x76B PUSH2 0x8CB JUMP JUMPDEST JUMPDEST PUSH2 0x775 DUP3 PUSH2 0x91D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E2 DUP3 PUSH2 0x7E9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x83F DUP3 PUSH2 0x846 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 DUP3 PUSH2 0x7E9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x885 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x86A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x894 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x8A3 DUP3 PUSH2 0x91D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x8C2 JUMPI PUSH2 0x8C1 PUSH2 0x8CB JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x937 DUP2 PUSH2 0x7D7 JUMP JUMPDEST DUP2 EQ PUSH2 0x942 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x94E DUP2 PUSH2 0x809 JUMP JUMPDEST DUP2 EQ PUSH2 0x959 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x965 DUP2 PUSH2 0x813 JUMP JUMPDEST DUP2 EQ PUSH2 0x970 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x97C DUP2 PUSH2 0x827 JUMP JUMPDEST DUP2 EQ PUSH2 0x987 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMPI 0x5D 0x5F PUSH17 0xCE7C46F061274CB948A465F99735E8B3FB 0x5C 0xD4 SMOD REVERT 0x2E PUSH26 0xA17E0E62D364736F6C6343000806003300000000000000000000 ", - "sourceMap": "2038:842:0:-:0;;;2176:42;2143:76;;;;;;;;;;;;;;;;;;;;2038:842;;;;;;;;;;;;;;;;" + "object": "60806040526108046000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005257600080fd5b50610d6c806100626000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806389a570fc1461005c57806394f6911514610078578063af3dcee814610094578063b38c60fa146100b2578063b9f813ff146100ce575b600080fd5b610076600480360381019061007191906106d5565b6100ea565b005b610092600480360381019061008d91906107e6565b610184565b005b61009c61021e565b6040516100a991906108dc565b60405180910390f35b6100cc60048036038101906100c791906108f7565b610242565b005b6100e860048036038101906100e39190610996565b6102d9565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166389a570fc86868686866040518663ffffffff1660e01b815260040161014b959493929190610bcd565b600060405180830381600087803b15801561016557600080fd5b505af1158015610179573d6000803e3d6000fd5b505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394f6911586868686866040518663ffffffff1660e01b81526004016101e5959493929190610c3d565b600060405180830381600087803b1580156101ff57600080fd5b505af1158015610213573d6000803e3d6000fd5b505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b38c60fa858585856040518563ffffffff1660e01b81526004016102a19493929190610c97565b600060405180830381600087803b1580156102bb57600080fd5b505af11580156102cf573d6000803e3d6000fd5b5050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9f813ff858585856040518563ffffffff1660e01b81526004016103389493929190610cea565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103d282610389565b810181811067ffffffffffffffff821117156103f1576103f061039a565b5b80604052505050565b6000610404610370565b905061041082826103c9565b919050565b600080fd5b600060ff82169050919050565b6104308161041a565b811461043b57600080fd5b50565b60008135905061044d81610427565b92915050565b600080fd5b600067ffffffffffffffff8211156104735761047261039a565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156104a9576104a861039a565b5b6104b282610389565b9050602081019050919050565b82818337600083830152505050565b60006104e16104dc8461048e565b6103fa565b9050828152602081018484840111156104fd576104fc610489565b5b6105088482856104bf565b509392505050565b600082601f83011261052557610524610453565b5b81356105358482602086016104ce565b91505092915050565b600061055161054c84610458565b6103fa565b9050808382526020820190506020840283018581111561057457610573610484565b5b835b818110156105bb57803567ffffffffffffffff81111561059957610598610453565b5b8086016105a68982610510565b85526020850194505050602081019050610576565b5050509392505050565b600082601f8301126105da576105d9610453565b5b81356105ea84826020860161053e565b91505092915050565b60006040828403121561060957610608610384565b5b61061360406103fa565b905060006106238482850161043e565b600083015250602082013567ffffffffffffffff81111561064757610646610415565b5b610653848285016105c5565b60208301525092915050565b6000819050919050565b6106728161065f565b811461067d57600080fd5b50565b60008135905061068f81610669565b92915050565b600067ffffffffffffffff82169050919050565b6106b281610695565b81146106bd57600080fd5b50565b6000813590506106cf816106a9565b92915050565b600080600080600060a086880312156106f1576106f061037a565b5b600086013567ffffffffffffffff81111561070f5761070e61037f565b5b61071b888289016105f3565b955050602061072c88828901610680565b945050604061073d88828901610680565b935050606086013567ffffffffffffffff81111561075e5761075d61037f565b5b61076a888289016105f3565b925050608061077b888289016106c0565b9150509295509295909350565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107b382610788565b9050919050565b6107c3816107a8565b81146107ce57600080fd5b50565b6000813590506107e0816107ba565b92915050565b600080600080600060a086880312156108025761080161037a565b5b6000610810888289016107d1565b955050602061082188828901610680565b945050604061083288828901610680565b935050606086013567ffffffffffffffff8111156108535761085261037f565b5b61085f888289016105f3565b9250506080610870888289016106c0565b9150509295509295909350565b6000819050919050565b60006108a261089d61089884610788565b61087d565b610788565b9050919050565b60006108b482610887565b9050919050565b60006108c6826108a9565b9050919050565b6108d6816108bb565b82525050565b60006020820190506108f160008301846108cd565b92915050565b600080600080608085870312156109115761091061037a565b5b600085013567ffffffffffffffff81111561092f5761092e61037f565b5b61093b878288016105f3565b945050602061094c87828801610680565b935050604085013567ffffffffffffffff81111561096d5761096c61037f565b5b610979878288016105f3565b925050606061098a878288016106c0565b91505092959194509250565b600080600080608085870312156109b0576109af61037a565b5b60006109be878288016107d1565b94505060206109cf87828801610680565b935050604085013567ffffffffffffffff8111156109f0576109ef61037f565b5b6109fc878288016105f3565b9250506060610a0d878288016106c0565b91505092959194509250565b610a228161041a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a8e578082015181840152602081019050610a73565b83811115610a9d576000848401525b50505050565b6000610aae82610a54565b610ab88185610a5f565b9350610ac8818560208601610a70565b610ad181610389565b840191505092915050565b6000610ae88383610aa3565b905092915050565b6000602082019050919050565b6000610b0882610a28565b610b128185610a33565b935083602082028501610b2485610a44565b8060005b85811015610b605784840389528151610b418582610adc565b9450610b4c83610af0565b925060208a01995050600181019050610b28565b50829750879550505050505092915050565b6000604083016000830151610b8a6000860182610a19565b5060208301518482036020860152610ba28282610afd565b9150508091505092915050565b610bb88161065f565b82525050565b610bc781610695565b82525050565b600060a0820190508181036000830152610be78188610b72565b9050610bf66020830187610baf565b610c036040830186610baf565b8181036060830152610c158185610b72565b9050610c246080830184610bbe565b9695505050505050565b610c37816107a8565b82525050565b600060a082019050610c526000830188610c2e565b610c5f6020830187610baf565b610c6c6040830186610baf565b8181036060830152610c7e8185610b72565b9050610c8d6080830184610bbe565b9695505050505050565b60006080820190508181036000830152610cb18187610b72565b9050610cc06020830186610baf565b8181036040830152610cd28185610b72565b9050610ce16060830184610bbe565b95945050505050565b6000608082019050610cff6000830187610c2e565b610d0c6020830186610baf565b8181036040830152610d1e8185610b72565b9050610d2d6060830184610bbe565b9594505050505056fea2646970667358221220b24a0202511e20cccc8541601dc2b5ae2c631e77b614484a53c260036f97e79d64736f6c634300080a0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0x804 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD6C DUP1 PUSH2 0x62 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x89A570FC EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x94F69115 EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0xAF3DCEE8 EQ PUSH2 0x94 JUMPI DUP1 PUSH4 0xB38C60FA EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xB9F813FF EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x6D5 JUMP JUMPDEST PUSH2 0xEA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x92 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x7E6 JUMP JUMPDEST PUSH2 0x184 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9C PUSH2 0x21E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC7 SWAP2 SWAP1 PUSH2 0x8F7 JUMP JUMPDEST PUSH2 0x242 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x996 JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x89A570FC DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14B SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xBCD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x165 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x179 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x94F69115 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E5 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC3D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x213 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB38C60FA DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2A1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC97 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2CF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB9F813FF DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x338 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCEA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x352 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x366 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x3D2 DUP3 PUSH2 0x389 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x3F1 JUMPI PUSH2 0x3F0 PUSH2 0x39A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x404 PUSH2 0x370 JUMP JUMPDEST SWAP1 POP PUSH2 0x410 DUP3 DUP3 PUSH2 0x3C9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x430 DUP2 PUSH2 0x41A JUMP JUMPDEST DUP2 EQ PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x44D DUP2 PUSH2 0x427 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x473 JUMPI PUSH2 0x472 PUSH2 0x39A JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4A9 JUMPI PUSH2 0x4A8 PUSH2 0x39A JUMP JUMPDEST JUMPDEST PUSH2 0x4B2 DUP3 PUSH2 0x389 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E1 PUSH2 0x4DC DUP5 PUSH2 0x48E JUMP JUMPDEST PUSH2 0x3FA JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4FD JUMPI PUSH2 0x4FC PUSH2 0x489 JUMP JUMPDEST JUMPDEST PUSH2 0x508 DUP5 DUP3 DUP6 PUSH2 0x4BF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x525 JUMPI PUSH2 0x524 PUSH2 0x453 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x535 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4CE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x551 PUSH2 0x54C DUP5 PUSH2 0x458 JUMP JUMPDEST PUSH2 0x3FA JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x574 JUMPI PUSH2 0x573 PUSH2 0x484 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5BB JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x599 JUMPI PUSH2 0x598 PUSH2 0x453 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x5A6 DUP10 DUP3 PUSH2 0x510 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x576 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5DA JUMPI PUSH2 0x5D9 PUSH2 0x453 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x5EA DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x53E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x609 JUMPI PUSH2 0x608 PUSH2 0x384 JUMP JUMPDEST JUMPDEST PUSH2 0x613 PUSH1 0x40 PUSH2 0x3FA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x623 DUP5 DUP3 DUP6 ADD PUSH2 0x43E JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x647 JUMPI PUSH2 0x646 PUSH2 0x415 JUMP JUMPDEST JUMPDEST PUSH2 0x653 DUP5 DUP3 DUP6 ADD PUSH2 0x5C5 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x672 DUP2 PUSH2 0x65F JUMP JUMPDEST DUP2 EQ PUSH2 0x67D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x68F DUP2 PUSH2 0x669 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6B2 DUP2 PUSH2 0x695 JUMP JUMPDEST DUP2 EQ PUSH2 0x6BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6CF DUP2 PUSH2 0x6A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x6F1 JUMPI PUSH2 0x6F0 PUSH2 0x37A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x70F JUMPI PUSH2 0x70E PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x71B DUP9 DUP3 DUP10 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x72C DUP9 DUP3 DUP10 ADD PUSH2 0x680 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x73D DUP9 DUP3 DUP10 ADD PUSH2 0x680 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x75E JUMPI PUSH2 0x75D PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x76A DUP9 DUP3 DUP10 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x77B DUP9 DUP3 DUP10 ADD PUSH2 0x6C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7B3 DUP3 PUSH2 0x788 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7C3 DUP2 PUSH2 0x7A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x7CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7E0 DUP2 PUSH2 0x7BA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x802 JUMPI PUSH2 0x801 PUSH2 0x37A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x810 DUP9 DUP3 DUP10 ADD PUSH2 0x7D1 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x821 DUP9 DUP3 DUP10 ADD PUSH2 0x680 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x832 DUP9 DUP3 DUP10 ADD PUSH2 0x680 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x853 JUMPI PUSH2 0x852 PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x85F DUP9 DUP3 DUP10 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x870 DUP9 DUP3 DUP10 ADD PUSH2 0x6C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A2 PUSH2 0x89D PUSH2 0x898 DUP5 PUSH2 0x788 JUMP JUMPDEST PUSH2 0x87D JUMP JUMPDEST PUSH2 0x788 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8B4 DUP3 PUSH2 0x887 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8C6 DUP3 PUSH2 0x8A9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8D6 DUP2 PUSH2 0x8BB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8F1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x911 JUMPI PUSH2 0x910 PUSH2 0x37A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x92F JUMPI PUSH2 0x92E PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x93B DUP8 DUP3 DUP9 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x94C DUP8 DUP3 DUP9 ADD PUSH2 0x680 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x96D JUMPI PUSH2 0x96C PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x979 DUP8 DUP3 DUP9 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x98A DUP8 DUP3 DUP9 ADD PUSH2 0x6C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x9B0 JUMPI PUSH2 0x9AF PUSH2 0x37A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9BE DUP8 DUP3 DUP9 ADD PUSH2 0x7D1 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x9CF DUP8 DUP3 DUP9 ADD PUSH2 0x680 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9F0 JUMPI PUSH2 0x9EF PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x9FC DUP8 DUP3 DUP9 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xA0D DUP8 DUP3 DUP9 ADD PUSH2 0x6C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH2 0xA22 DUP2 PUSH2 0x41A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA8E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA73 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xA9D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAAE DUP3 PUSH2 0xA54 JUMP JUMPDEST PUSH2 0xAB8 DUP2 DUP6 PUSH2 0xA5F JUMP JUMPDEST SWAP4 POP PUSH2 0xAC8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA70 JUMP JUMPDEST PUSH2 0xAD1 DUP2 PUSH2 0x389 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAE8 DUP4 DUP4 PUSH2 0xAA3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB08 DUP3 PUSH2 0xA28 JUMP JUMPDEST PUSH2 0xB12 DUP2 DUP6 PUSH2 0xA33 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0xB24 DUP6 PUSH2 0xA44 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xB60 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0xB41 DUP6 DUP3 PUSH2 0xADC JUMP JUMPDEST SWAP5 POP PUSH2 0xB4C DUP4 PUSH2 0xAF0 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xB28 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0xB8A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0xA19 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0xBA2 DUP3 DUP3 PUSH2 0xAFD JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBB8 DUP2 PUSH2 0x65F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xBC7 DUP2 PUSH2 0x695 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xBE7 DUP2 DUP9 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xBF6 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xBAF JUMP JUMPDEST PUSH2 0xC03 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0xBAF JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0xC15 DUP2 DUP6 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xC24 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xBBE JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC37 DUP2 PUSH2 0x7A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0xC52 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0xC2E JUMP JUMPDEST PUSH2 0xC5F PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xBAF JUMP JUMPDEST PUSH2 0xC6C PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0xBAF JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0xC7E DUP2 DUP6 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xC8D PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xBBE JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCB1 DUP2 DUP8 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xCC0 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xBAF JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xCD2 DUP2 DUP6 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xCE1 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xBBE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xCFF PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0xC2E JUMP JUMPDEST PUSH2 0xD0C PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xBAF JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xD1E DUP2 DUP6 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xD2D PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xBBE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB2 0x4A MUL MUL MLOAD 0x1E KECCAK256 0xCC 0xCC DUP6 COINBASE PUSH1 0x1D 0xC2 0xB5 0xAE 0x2C PUSH4 0x1E77B614 BASEFEE 0x4A MSTORE8 0xC2 PUSH1 0x3 PUSH16 0x97E79D64736F6C634300080A00330000 ", + "sourceMap": "3560:1591:0:-:0;;;3698:42;3665:76;;;;;;;;;;;;;;;;;;;;3560:1591;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { - "@transfer_68": { - "entryPoint": 343, - "id": 68, + "@transfer_99": { + "entryPoint": 729, + "id": 99, "parameterSlots": 4, "returnSlots": 0 }, - "@transfer_multiasset_92": { - "entryPoint": 192, - "id": 92, + "@transfer_multiasset_149": { + "entryPoint": 578, + "id": 149, "parameterSlots": 4, "returnSlots": 0 }, - "@xtokens_45": { - "entryPoint": 156, - "id": 45, + "@transfer_multiasset_with_fee_176": { + "entryPoint": 234, + "id": 176, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@transfer_with_fee_125": { + "entryPoint": 388, + "id": 125, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@xtokens_76": { + "entryPoint": 542, + "id": 76, "parameterSlots": 0, "returnSlots": 0 }, "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 494, + "entryPoint": 1342, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_available_length_t_bytes_memory_ptr": { - "entryPoint": 636, + "entryPoint": 1230, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_t_address": { - "entryPoint": 702, + "entryPoint": 2001, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 723, + "entryPoint": 1477, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_bytes_memory_ptr": { - "entryPoint": 769, + "entryPoint": 1296, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_struct$_Multilocation_$8_memory_ptr": { - "entryPoint": 815, + "entryPoint": 1523, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_uint256": { - "entryPoint": 923, + "entryPoint": 1664, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_uint64": { - "entryPoint": 944, + "entryPoint": 1728, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_t_uint8": { - "entryPoint": 965, + "entryPoint": 1086, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64": { - "entryPoint": 986, + "entryPoint": 2454, "id": null, "parameterSlots": 2, "returnSlots": 4 }, + "abi_decode_tuple_t_addresst_uint256t_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64": { + "entryPoint": 2022, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, "abi_decode_tuple_t_struct$_Multilocation_$8_memory_ptrt_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64": { - "entryPoint": 1117, + "entryPoint": 2295, "id": null, "parameterSlots": 2, "returnSlots": 4 }, + "abi_decode_tuple_t_struct$_Multilocation_$8_memory_ptrt_uint256t_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64": { + "entryPoint": 1749, + "id": null, + "parameterSlots": 2, + "returnSlots": 5 + }, "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr": { - "entryPoint": 1276, + "entryPoint": 2780, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_t_address_to_t_address_fromStack": { - "entryPoint": 1296, + "entryPoint": 3118, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 1311, + "entryPoint": 2813, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr": { - "entryPoint": 1428, + "entryPoint": 2723, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_t_contract$_Xtokens_$36_to_t_address_fromStack": { - "entryPoint": 1485, + "abi_encode_t_contract$_Xtokens_$67_to_t_address_fromStack": { + "entryPoint": 2253, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack": { - "entryPoint": 1500, + "entryPoint": 2930, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_t_uint256_to_t_uint256_fromStack": { - "entryPoint": 1561, + "entryPoint": 2991, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_t_uint64_to_t_uint64_fromStack": { - "entryPoint": 1576, + "entryPoint": 3006, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_t_uint8_to_t_uint8": { - "entryPoint": 1591, + "entryPoint": 2585, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_tuple_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed": { - "entryPoint": 1606, + "entryPoint": 3306, "id": null, "parameterSlots": 5, "returnSlots": 1 }, - "abi_encode_tuple_t_contract$_Xtokens_$36__to_t_address__fromStack_reversed": { - "entryPoint": 1682, + "abi_encode_tuple_t_address_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_address_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed": { + "entryPoint": 3133, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_Xtokens_$67__to_t_address__fromStack_reversed": { + "entryPoint": 2268, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed": { - "entryPoint": 1709, + "entryPoint": 3223, "id": null, "parameterSlots": 5, "returnSlots": 1 }, + "abi_encode_tuple_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed": { + "entryPoint": 3021, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, "allocate_memory": { - "entryPoint": 1792, + "entryPoint": 1018, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_unbounded": { - "entryPoint": 1819, + "entryPoint": 880, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 1829, + "entryPoint": 1112, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "array_allocation_size_t_bytes_memory_ptr": { - "entryPoint": 1873, + "entryPoint": 1166, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 1922, + "entryPoint": 2628, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 1938, + "entryPoint": 2600, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "array_length_t_bytes_memory_ptr": { - "entryPoint": 1949, + "entryPoint": 2644, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 1960, + "entryPoint": 2800, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 1973, + "entryPoint": 2611, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "array_storeLengthForEncoding_t_bytes_memory_ptr": { - "entryPoint": 1990, + "entryPoint": 2655, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "cleanup_t_address": { - "entryPoint": 2007, + "entryPoint": 1960, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "cleanup_t_uint160": { - "entryPoint": 2025, + "entryPoint": 1928, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "cleanup_t_uint256": { - "entryPoint": 2057, + "entryPoint": 1631, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "cleanup_t_uint64": { - "entryPoint": 2067, + "entryPoint": 1685, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "cleanup_t_uint8": { - "entryPoint": 2087, + "entryPoint": 1050, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_contract$_Xtokens_$67_to_t_address": { + "entryPoint": 2235, "id": null, "parameterSlots": 1, "returnSlots": 1 }, - "convert_t_contract$_Xtokens_$36_to_t_address": { - "entryPoint": 2100, + "convert_t_uint160_to_t_address": { + "entryPoint": 2217, "id": null, "parameterSlots": 1, "returnSlots": 1 }, - "convert_t_contract$_Xtokens_$36_to_t_uint160": { - "entryPoint": 2118, + "convert_t_uint160_to_t_uint160": { + "entryPoint": 2183, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "copy_calldata_to_memory": { - "entryPoint": 2136, + "entryPoint": 1215, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "copy_memory_to_memory": { - "entryPoint": 2151, + "entryPoint": 2672, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "finalize_allocation": { - "entryPoint": 2202, + "entryPoint": 969, "id": null, "parameterSlots": 2, "returnSlots": 0 }, + "identity": { + "entryPoint": 2173, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, "panic_error_0x41": { - "entryPoint": 2251, + "entryPoint": 922, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { - "entryPoint": 2298, + "entryPoint": 1107, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f": { - "entryPoint": 2303, + "entryPoint": 900, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421": { - "entryPoint": 2308, + "entryPoint": 1045, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { - "entryPoint": 2313, + "entryPoint": 1156, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { - "entryPoint": 2318, + "entryPoint": 1161, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { - "entryPoint": 2323, + "entryPoint": 895, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 2328, + "entryPoint": 890, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "round_up_to_mul_of_32": { - "entryPoint": 2333, + "entryPoint": 905, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "validator_revert_t_address": { - "entryPoint": 2350, + "entryPoint": 1978, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "validator_revert_t_uint256": { - "entryPoint": 2373, + "entryPoint": 1641, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "validator_revert_t_uint64": { - "entryPoint": 2396, + "entryPoint": 1705, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "validator_revert_t_uint8": { - "entryPoint": 2419, + "entryPoint": 1063, "id": null, "parameterSlots": 1, "returnSlots": 0 @@ -469,610 +599,562 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:15458:1", + "src": "0:19944:1", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "133:843:1", + "src": "47:35:1", "statements": [ { "nodeType": "YulAssignment", - "src": "143:99:1", + "src": "57:19:1", "value": { "arguments": [ { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "234:6:1" - } - ], - "functionName": { - "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "nodeType": "YulIdentifier", - "src": "168:65:1" - }, - "nodeType": "YulFunctionCall", - "src": "168:73:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:1", + "type": "", + "value": "64" } ], "functionName": { - "name": "allocate_memory", + "name": "mload", "nodeType": "YulIdentifier", - "src": "152:15:1" + "src": "67:5:1" }, "nodeType": "YulFunctionCall", - "src": "152:90:1" + "src": "67:9:1" }, "variableNames": [ { - "name": "array", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "143:5:1" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "251:16:1", - "value": { - "name": "array", - "nodeType": "YulIdentifier", - "src": "262:5:1" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "255:3:1", - "type": "" + "src": "57:6:1" } ] - }, + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:1", + "type": "" + } + ], + "src": "7:75:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:1", + "statements": [ { "expression": { "arguments": [ { - "name": "array", - "nodeType": "YulIdentifier", - "src": "284:5:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:1", + "type": "", + "value": "0" }, { - "name": "length", - "nodeType": "YulIdentifier", - "src": "291:6:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:1", + "type": "", + "value": "0" } ], "functionName": { - "name": "mstore", + "name": "revert", "nodeType": "YulIdentifier", - "src": "277:6:1" + "src": "187:6:1" }, "nodeType": "YulFunctionCall", - "src": "277:21:1" + "src": "187:12:1" }, "nodeType": "YulExpressionStatement", - "src": "277:21:1" - }, + "src": "187:12:1" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:1", + "statements": [ { - "nodeType": "YulAssignment", - "src": "307:23:1", - "value": { + "expression": { "arguments": [ { - "name": "array", - "nodeType": "YulIdentifier", - "src": "318:5:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:1", + "type": "", + "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "325:4:1", + "src": "320:1:1", "type": "", - "value": "0x20" + "value": "0" } ], "functionName": { - "name": "add", + "name": "revert", "nodeType": "YulIdentifier", - "src": "314:3:1" + "src": "310:6:1" }, "nodeType": "YulFunctionCall", - "src": "314:16:1" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "307:3:1" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "340:17:1", - "value": { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "351:6:1" + "src": "310:12:1" }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "344:3:1", - "type": "" - } - ] - }, + "nodeType": "YulExpressionStatement", + "src": "310:12:1" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "423:28:1", + "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "406:103:1", - "statements": [ + "expression": { + "arguments": [ { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nodeType": "YulIdentifier", - "src": "420:77:1" - }, - "nodeType": "YulFunctionCall", - "src": "420:79:1" - }, - "nodeType": "YulExpressionStatement", - "src": "420:79:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:1", + "type": "", + "value": "0" } - ] + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "433:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "433:12:1" }, - "condition": { + "nodeType": "YulExpressionStatement", + "src": "433:12:1" + } + ] + }, + "name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f", + "nodeType": "YulFunctionDefinition", + "src": "334:117:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "505:54:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "515:38:1", + "value": { "arguments": [ { "arguments": [ { - "name": "src", + "name": "value", "nodeType": "YulIdentifier", - "src": "376:3:1" + "src": "533:5:1" }, { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "385:6:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "393:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "381:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "381:17:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "540:2:1", + "type": "", + "value": "31" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "372:3:1" + "src": "529:3:1" }, "nodeType": "YulFunctionCall", - "src": "372:27:1" + "src": "529:14:1" }, { - "name": "end", + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "549:2:1", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "545:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "545:7:1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "525:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "525:28:1" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "515:6:1" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "488:5:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "498:6:1", + "type": "" + } + ], + "src": "457:102:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "593:152:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "610:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "613:77:1", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "603:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "603:88:1" + }, + "nodeType": "YulExpressionStatement", + "src": "603:88:1" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "707:1:1", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "710:4:1", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "700:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "700:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "700:15:1" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "731:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "734:4:1", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "724:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "724:15:1" + }, + "nodeType": "YulExpressionStatement", + "src": "724:15:1" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "565:180:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "794:238:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "804:58:1", + "value": { + "arguments": [ + { + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "401:3:1" + "src": "826:6:1" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "856:4:1" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "834:21:1" + }, + "nodeType": "YulFunctionCall", + "src": "834:27:1" } ], "functionName": { - "name": "gt", + "name": "add", "nodeType": "YulIdentifier", - "src": "369:2:1" + "src": "822:3:1" }, "nodeType": "YulFunctionCall", - "src": "369:36:1" + "src": "822:40:1" }, - "nodeType": "YulIf", - "src": "366:2:1" + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "808:10:1", + "type": "" + } + ] }, { "body": { "nodeType": "YulBlock", - "src": "578:392:1", + "src": "973:22:1", "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "593:36:1", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "625:3:1" - } - ], + "expression": { + "arguments": [], "functionName": { - "name": "calldataload", + "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "612:12:1" + "src": "975:16:1" }, "nodeType": "YulFunctionCall", - "src": "612:17:1" + "src": "975:18:1" }, - "variables": [ + "nodeType": "YulExpressionStatement", + "src": "975:18:1" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ { - "name": "innerOffset", - "nodeType": "YulTypedName", - "src": "597:11:1", - "type": "" + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "916:10:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "928:18:1", + "type": "", + "value": "0xffffffffffffffff" } - ] + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "913:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "913:34:1" }, { - "body": { - "nodeType": "YulBlock", - "src": "681:83:1", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "683:77:1" - }, - "nodeType": "YulFunctionCall", - "src": "683:79:1" - }, - "nodeType": "YulExpressionStatement", - "src": "683:79:1" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "648:11:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "661:18:1", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "645:2:1" - }, - "nodeType": "YulFunctionCall", - "src": "645:35:1" - }, - "nodeType": "YulIf", - "src": "642:2:1" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "777:42:1", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "799:6:1" - }, - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "807:11:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "795:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "795:24:1" - }, - "variables": [ + "arguments": [ { - "name": "elementPos", - "nodeType": "YulTypedName", - "src": "781:10:1", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "840:3:1" - }, - { - "arguments": [ - { - "name": "elementPos", - "nodeType": "YulIdentifier", - "src": "875:10:1" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "887:3:1" - } - ], - "functionName": { - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "845:29:1" - }, - "nodeType": "YulFunctionCall", - "src": "845:46:1" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "833:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "833:59:1" - }, - "nodeType": "YulExpressionStatement", - "src": "833:59:1" - }, - { - "nodeType": "YulAssignment", - "src": "905:21:1", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "916:3:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "921:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", + "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "912:3:1" + "src": "952:10:1" }, - "nodeType": "YulFunctionCall", - "src": "912:14:1" - }, - "variableNames": [ { - "name": "dst", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "905:3:1" + "src": "964:6:1" } - ] - }, - { - "nodeType": "YulAssignment", - "src": "939:21:1", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "950:3:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "955:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "946:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "946:14:1" + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "949:2:1" }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "939:3:1" - } - ] + "nodeType": "YulFunctionCall", + "src": "949:22:1" } - ] + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "910:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "910:62:1" }, - "condition": { + "nodeType": "YulIf", + "src": "907:88:1" + }, + { + "expression": { "arguments": [ { - "name": "i", - "nodeType": "YulIdentifier", - "src": "540:1:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "1011:2:1", + "type": "", + "value": "64" }, { - "name": "length", + "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "543:6:1" + "src": "1015:10:1" } ], "functionName": { - "name": "lt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "537:2:1" + "src": "1004:6:1" }, "nodeType": "YulFunctionCall", - "src": "537:13:1" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "551:18:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "553:14:1", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "562:1:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "565:1:1", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "558:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "558:9:1" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "553:1:1" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "522:14:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "524:10:1", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "533:1:1", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "528:1:1", - "type": "" - } - ] - } - ] + "src": "1004:22:1" }, - "src": "518:452:1" + "nodeType": "YulExpressionStatement", + "src": "1004:22:1" } ] }, - "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "finalize_allocation", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "offset", - "nodeType": "YulTypedName", - "src": "103:6:1", - "type": "" - }, - { - "name": "length", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "111:6:1", + "src": "780:6:1", "type": "" }, { - "name": "end", - "nodeType": "YulTypedName", - "src": "119:3:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", + "name": "size", "nodeType": "YulTypedName", - "src": "127:5:1", + "src": "788:4:1", "type": "" } ], - "src": "22:954:1" + "src": "751:281:1" }, { "body": { "nodeType": "YulBlock", - "src": "1065:327:1", + "src": "1079:88:1", "statements": [ { "nodeType": "YulAssignment", - "src": "1075:74:1", + "src": "1089:30:1", "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1141:6:1" - } - ], - "functionName": { - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "1100:40:1" - }, - "nodeType": "YulFunctionCall", - "src": "1100:48:1" - } - ], + "arguments": [], "functionName": { - "name": "allocate_memory", + "name": "allocate_unbounded", "nodeType": "YulIdentifier", - "src": "1084:15:1" + "src": "1099:18:1" }, "nodeType": "YulFunctionCall", - "src": "1084:65:1" + "src": "1099:20:1" }, "variableNames": [ { - "name": "array", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1075:5:1" + "src": "1089:6:1" } ] }, @@ -1080,80 +1162,188 @@ "expression": { "arguments": [ { - "name": "array", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1165:5:1" + "src": "1148:6:1" }, { - "name": "length", + "name": "size", "nodeType": "YulIdentifier", - "src": "1172:6:1" + "src": "1156:4:1" } ], "functionName": { - "name": "mstore", + "name": "finalize_allocation", "nodeType": "YulIdentifier", - "src": "1158:6:1" + "src": "1128:19:1" }, "nodeType": "YulFunctionCall", - "src": "1158:21:1" + "src": "1128:33:1" }, "nodeType": "YulExpressionStatement", - "src": "1158:21:1" - }, + "src": "1128:33:1" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1063:4:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1072:6:1", + "type": "" + } + ], + "src": "1038:129:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1262:28:1", + "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "1188:27:1", + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1279:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1282:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1272:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1272:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1272:12:1" + } + ] + }, + "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", + "nodeType": "YulFunctionDefinition", + "src": "1173:117:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1339:43:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1349:27:1", "value": { "arguments": [ { - "name": "array", + "name": "value", "nodeType": "YulIdentifier", - "src": "1203:5:1" + "src": "1364:5:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1210:4:1", + "src": "1371:4:1", "type": "", - "value": "0x20" + "value": "0xff" } ], "functionName": { - "name": "add", + "name": "and", "nodeType": "YulIdentifier", - "src": "1199:3:1" + "src": "1360:3:1" }, "nodeType": "YulFunctionCall", - "src": "1199:16:1" + "src": "1360:16:1" }, - "variables": [ + "variableNames": [ { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1192:3:1", - "type": "" + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1349:7:1" } ] - }, + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1321:5:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1331:7:1", + "type": "" + } + ], + "src": "1296:86:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1429:77:1", + "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1253:83:1", + "src": "1484:16:1", "statements": [ { "expression": { - "arguments": [], + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1493:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1496:1:1", + "type": "", + "value": "0" + } + ], "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "name": "revert", "nodeType": "YulIdentifier", - "src": "1255:77:1" + "src": "1486:6:1" }, "nodeType": "YulFunctionCall", - "src": "1255:79:1" + "src": "1486:12:1" }, "nodeType": "YulExpressionStatement", - "src": "1255:79:1" + "src": "1486:12:1" } ] }, @@ -1162,134 +1352,90 @@ { "arguments": [ { - "name": "src", + "name": "value", "nodeType": "YulIdentifier", - "src": "1234:3:1" + "src": "1452:5:1" }, { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1239:6:1" + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1475:5:1" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "1459:15:1" + }, + "nodeType": "YulFunctionCall", + "src": "1459:22:1" } ], "functionName": { - "name": "add", + "name": "eq", "nodeType": "YulIdentifier", - "src": "1230:3:1" + "src": "1449:2:1" }, "nodeType": "YulFunctionCall", - "src": "1230:16:1" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1248:3:1" + "src": "1449:33:1" } ], "functionName": { - "name": "gt", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "1227:2:1" + "src": "1442:6:1" }, "nodeType": "YulFunctionCall", - "src": "1227:25:1" + "src": "1442:41:1" }, "nodeType": "YulIf", - "src": "1224:2:1" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1369:3:1" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1374:3:1" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1379:6:1" - } - ], - "functionName": { - "name": "copy_calldata_to_memory", - "nodeType": "YulIdentifier", - "src": "1345:23:1" - }, - "nodeType": "YulFunctionCall", - "src": "1345:41:1" - }, - "nodeType": "YulExpressionStatement", - "src": "1345:41:1" + "src": "1439:61:1" } ] }, - "name": "abi_decode_available_length_t_bytes_memory_ptr", + "name": "validator_revert_t_uint8", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "src", - "nodeType": "YulTypedName", - "src": "1038:3:1", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1043:6:1", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1051:3:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", + "name": "value", "nodeType": "YulTypedName", - "src": "1059:5:1", + "src": "1422:5:1", "type": "" } ], - "src": "982:410:1" + "src": "1388:118:1" }, { "body": { "nodeType": "YulBlock", - "src": "1450:87:1", + "src": "1562:85:1", "statements": [ { "nodeType": "YulAssignment", - "src": "1460:29:1", + "src": "1572:29:1", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "1482:6:1" + "src": "1594:6:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "1469:12:1" + "src": "1581:12:1" }, "nodeType": "YulFunctionCall", - "src": "1469:20:1" + "src": "1581:20:1" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1460:5:1" + "src": "1572:5:1" } ] }, @@ -1299,35 +1445,35 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "1525:5:1" + "src": "1635:5:1" } ], "functionName": { - "name": "validator_revert_t_address", + "name": "validator_revert_t_uint8", "nodeType": "YulIdentifier", - "src": "1498:26:1" + "src": "1610:24:1" }, "nodeType": "YulFunctionCall", - "src": "1498:33:1" + "src": "1610:31:1" }, "nodeType": "YulExpressionStatement", - "src": "1498:33:1" + "src": "1610:31:1" } ] }, - "name": "abi_decode_t_address", + "name": "abi_decode_t_uint8", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "1428:6:1", + "src": "1540:6:1", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "1436:3:1", + "src": "1548:3:1", "type": "" } ], @@ -1335,900 +1481,988 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1444:5:1", + "src": "1556:5:1", "type": "" } ], - "src": "1398:139:1" + "src": "1512:135:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1742:28:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1759:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1762:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1752:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "1752:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "1752:12:1" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "1653:117:1" }, { "body": { "nodeType": "YulBlock", - "src": "1644:302:1", + "src": "1867:229:1", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1693:83:1", + "src": "1972:22:1", "statements": [ { "expression": { "arguments": [], "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "1695:77:1" + "src": "1974:16:1" }, "nodeType": "YulFunctionCall", - "src": "1695:79:1" + "src": "1974:18:1" }, "nodeType": "YulExpressionStatement", - "src": "1695:79:1" + "src": "1974:18:1" } ] }, "condition": { "arguments": [ { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1672:6:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1680:4:1", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1668:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "1668:17:1" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1687:3:1" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1664:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "1664:27:1" - } - ], - "functionName": { - "name": "iszero", + "name": "length", + "nodeType": "YulIdentifier", + "src": "1944:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1952:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", "nodeType": "YulIdentifier", - "src": "1657:6:1" + "src": "1941:2:1" }, "nodeType": "YulFunctionCall", - "src": "1657:35:1" + "src": "1941:30:1" }, "nodeType": "YulIf", - "src": "1654:2:1" + "src": "1938:56:1" }, { - "nodeType": "YulVariableDeclaration", - "src": "1785:34:1", + "nodeType": "YulAssignment", + "src": "2004:25:1", "value": { "arguments": [ { - "name": "offset", + "name": "length", "nodeType": "YulIdentifier", - "src": "1812:6:1" + "src": "2016:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2024:4:1", + "type": "", + "value": "0x20" } ], "functionName": { - "name": "calldataload", + "name": "mul", "nodeType": "YulIdentifier", - "src": "1799:12:1" + "src": "2012:3:1" }, "nodeType": "YulFunctionCall", - "src": "1799:20:1" + "src": "2012:17:1" }, - "variables": [ + "variableNames": [ { - "name": "length", - "nodeType": "YulTypedName", - "src": "1789:6:1", - "type": "" + "name": "size", + "nodeType": "YulIdentifier", + "src": "2004:4:1" } ] }, { "nodeType": "YulAssignment", - "src": "1828:112:1", + "src": "2066:23:1", "value": { "arguments": [ { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1913:6:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1921:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1909:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "1909:17:1" - }, - { - "name": "length", + "name": "size", "nodeType": "YulIdentifier", - "src": "1928:6:1" + "src": "2078:4:1" }, { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1936:3:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "2084:4:1", + "type": "", + "value": "0x20" } ], "functionName": { - "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "add", "nodeType": "YulIdentifier", - "src": "1837:71:1" + "src": "2074:3:1" }, "nodeType": "YulFunctionCall", - "src": "1837:103:1" + "src": "2074:15:1" }, "variableNames": [ { - "name": "array", + "name": "size", "nodeType": "YulIdentifier", - "src": "1828:5:1" + "src": "2066:4:1" } ] } ] }, - "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1622:6:1", - "type": "" - }, - { - "name": "end", + "name": "length", "nodeType": "YulTypedName", - "src": "1630:3:1", + "src": "1851:6:1", "type": "" } ], "returnVariables": [ { - "name": "array", + "name": "size", "nodeType": "YulTypedName", - "src": "1638:5:1", + "src": "1862:4:1", "type": "" } ], - "src": "1558:388:1" + "src": "1776:320:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2191:28:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2208:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2211:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2201:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2201:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2201:12:1" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "2102:117:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2314:28:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2331:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2334:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2324:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2324:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2324:12:1" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "2225:117:1" }, { "body": { "nodeType": "YulBlock", - "src": "2026:277:1", + "src": "2414:241:1", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2075:83:1", + "src": "2519:22:1", "statements": [ { "expression": { "arguments": [], "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "2077:77:1" + "src": "2521:16:1" }, "nodeType": "YulFunctionCall", - "src": "2077:79:1" + "src": "2521:18:1" }, "nodeType": "YulExpressionStatement", - "src": "2077:79:1" + "src": "2521:18:1" } ] }, "condition": { "arguments": [ { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2054:6:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2062:4:1", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2050:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "2050:17:1" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2069:3:1" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2046:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "2046:27:1" + "name": "length", + "nodeType": "YulIdentifier", + "src": "2491:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2499:18:1", + "type": "", + "value": "0xffffffffffffffff" } ], "functionName": { - "name": "iszero", + "name": "gt", "nodeType": "YulIdentifier", - "src": "2039:6:1" + "src": "2488:2:1" }, "nodeType": "YulFunctionCall", - "src": "2039:35:1" + "src": "2488:30:1" }, "nodeType": "YulIf", - "src": "2036:2:1" + "src": "2485:56:1" }, { - "nodeType": "YulVariableDeclaration", - "src": "2167:34:1", + "nodeType": "YulAssignment", + "src": "2551:37:1", "value": { "arguments": [ { - "name": "offset", + "name": "length", "nodeType": "YulIdentifier", - "src": "2194:6:1" + "src": "2581:6:1" } ], "functionName": { - "name": "calldataload", + "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "2181:12:1" + "src": "2559:21:1" }, "nodeType": "YulFunctionCall", - "src": "2181:20:1" + "src": "2559:29:1" }, - "variables": [ + "variableNames": [ { - "name": "length", - "nodeType": "YulTypedName", - "src": "2171:6:1", - "type": "" + "name": "size", + "nodeType": "YulIdentifier", + "src": "2551:4:1" } ] }, { "nodeType": "YulAssignment", - "src": "2210:87:1", + "src": "2625:23:1", "value": { "arguments": [ { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2270:6:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2278:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2266:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "2266:17:1" - }, - { - "name": "length", + "name": "size", "nodeType": "YulIdentifier", - "src": "2285:6:1" + "src": "2637:4:1" }, { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2293:3:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "2643:4:1", + "type": "", + "value": "0x20" } ], "functionName": { - "name": "abi_decode_available_length_t_bytes_memory_ptr", + "name": "add", "nodeType": "YulIdentifier", - "src": "2219:46:1" + "src": "2633:3:1" }, "nodeType": "YulFunctionCall", - "src": "2219:78:1" + "src": "2633:15:1" }, "variableNames": [ { - "name": "array", + "name": "size", "nodeType": "YulIdentifier", - "src": "2210:5:1" + "src": "2625:4:1" } ] } ] }, - "name": "abi_decode_t_bytes_memory_ptr", + "name": "array_allocation_size_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2004:6:1", - "type": "" - }, - { - "name": "end", + "name": "length", "nodeType": "YulTypedName", - "src": "2012:3:1", + "src": "2398:6:1", "type": "" } ], "returnVariables": [ { - "name": "array", + "name": "size", "nodeType": "YulTypedName", - "src": "2020:5:1", + "src": "2409:4:1", "type": "" } ], - "src": "1965:338:1" + "src": "2348:307:1" }, { "body": { "nodeType": "YulBlock", - "src": "2428:693:1", + "src": "2712:103:1", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "2472:83:1", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f", - "nodeType": "YulIdentifier", - "src": "2474:77:1" - }, - "nodeType": "YulFunctionCall", - "src": "2474:79:1" - }, - "nodeType": "YulExpressionStatement", - "src": "2474:79:1" - } - ] - }, - "condition": { + "expression": { "arguments": [ { - "arguments": [ - { - "name": "end", + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2735:3:1" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2740:3:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2745:6:1" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "2722:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "2722:30:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2722:30:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", "nodeType": "YulIdentifier", - "src": "2449:3:1" + "src": "2793:3:1" }, { - "name": "headStart", + "name": "length", "nodeType": "YulIdentifier", - "src": "2454:9:1" + "src": "2798:6:1" } ], "functionName": { - "name": "sub", + "name": "add", "nodeType": "YulIdentifier", - "src": "2445:3:1" + "src": "2789:3:1" }, "nodeType": "YulFunctionCall", - "src": "2445:19:1" + "src": "2789:16:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2466:4:1", + "src": "2807:1:1", "type": "", - "value": "0x40" + "value": "0" } ], "functionName": { - "name": "slt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "2441:3:1" + "src": "2782:6:1" }, "nodeType": "YulFunctionCall", - "src": "2441:30:1" + "src": "2782:27:1" }, - "nodeType": "YulIf", - "src": "2438:2:1" - }, + "nodeType": "YulExpressionStatement", + "src": "2782:27:1" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2694:3:1", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2699:3:1", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2704:6:1", + "type": "" + } + ], + "src": "2661:154:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2904:327:1", + "statements": [ { "nodeType": "YulAssignment", - "src": "2564:30:1", + "src": "2914:74:1", "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2589:4:1", - "type": "", - "value": "0x40" + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2980:6:1" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2939:40:1" + }, + "nodeType": "YulFunctionCall", + "src": "2939:48:1" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "2573:15:1" + "src": "2923:15:1" }, "nodeType": "YulFunctionCall", - "src": "2573:21:1" + "src": "2923:65:1" }, "variableNames": [ { - "name": "value", + "name": "array", "nodeType": "YulIdentifier", - "src": "2564:5:1" + "src": "2914:5:1" } ] }, { - "nodeType": "YulBlock", - "src": "2604:151:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2642:15:1", - "value": { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3004:5:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3011:6:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2997:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "2997:21:1" + }, + "nodeType": "YulExpressionStatement", + "src": "2997:21:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3027:27:1", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3042:5:1" + }, + { "kind": "number", "nodeType": "YulLiteral", - "src": "2656:1:1", + "src": "3049:4:1", "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2646:6:1", - "type": "" - } - ] + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3038:3:1" }, + "nodeType": "YulFunctionCall", + "src": "3038:16:1" + }, + "variables": [ { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2682:5:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2689:4:1", - "type": "", - "value": "0x00" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2678:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "2678:16:1" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2719:9:1" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2730:6:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2715:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "2715:22:1" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2739:3:1" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "2696:18:1" - }, - "nodeType": "YulFunctionCall", - "src": "2696:47:1" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2671:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "2671:73:1" - }, - "nodeType": "YulExpressionStatement", - "src": "2671:73:1" + "name": "dst", + "nodeType": "YulTypedName", + "src": "3031:3:1", + "type": "" } ] }, { - "nodeType": "YulBlock", - "src": "2765:349:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2804:46:1", - "value": { + "body": { + "nodeType": "YulBlock", + "src": "3092:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "3094:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "3094:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3094:79:1" + } + ] + }, + "condition": { + "arguments": [ + { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2835:9:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2846:2:1", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2831:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "2831:18:1" + "name": "src", + "nodeType": "YulIdentifier", + "src": "3073:3:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3078:6:1" } ], "functionName": { - "name": "calldataload", + "name": "add", "nodeType": "YulIdentifier", - "src": "2818:12:1" + "src": "3069:3:1" }, "nodeType": "YulFunctionCall", - "src": "2818:32:1" + "src": "3069:16:1" }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2808:6:1", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2897:83:1", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", - "nodeType": "YulIdentifier", - "src": "2899:77:1" - }, - "nodeType": "YulFunctionCall", - "src": "2899:79:1" - }, - "nodeType": "YulExpressionStatement", - "src": "2899:79:1" - } - ] + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3087:3:1" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3066:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "3066:25:1" + }, + "nodeType": "YulIf", + "src": "3063:112:1" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3208:3:1" }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2869:6:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2877:18:1", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2866:2:1" - }, - "nodeType": "YulFunctionCall", - "src": "2866:30:1" + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3213:3:1" }, - "nodeType": "YulIf", - "src": "2863:2:1" + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3218:6:1" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "3184:23:1" }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3005:5:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3012:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3001:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "3001:16:1" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3078:9:1" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3089:6:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3074:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "3074:22:1" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3098:3:1" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "nodeType": "YulIdentifier", - "src": "3019:54:1" - }, - "nodeType": "YulFunctionCall", - "src": "3019:83:1" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2994:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "2994:109:1" - }, - "nodeType": "YulExpressionStatement", - "src": "2994:109:1" - } - ] + "nodeType": "YulFunctionCall", + "src": "3184:41:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3184:41:1" } ] }, - "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", + "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "src", + "nodeType": "YulTypedName", + "src": "2877:3:1", + "type": "" + }, + { + "name": "length", "nodeType": "YulTypedName", - "src": "2403:9:1", + "src": "2882:6:1", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2414:3:1", + "src": "2890:3:1", "type": "" } ], "returnVariables": [ { - "name": "value", + "name": "array", "nodeType": "YulTypedName", - "src": "2422:5:1", + "src": "2898:5:1", "type": "" } ], - "src": "2345:776:1" + "src": "2821:410:1" }, { "body": { "nodeType": "YulBlock", - "src": "3179:87:1", + "src": "3311:277:1", "statements": [ { - "nodeType": "YulAssignment", - "src": "3189:29:1", + "body": { + "nodeType": "YulBlock", + "src": "3360:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "3362:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "3362:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "3362:79:1" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3339:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3347:4:1", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3335:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3335:17:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3354:3:1" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3331:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3331:27:1" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3324:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "3324:35:1" + }, + "nodeType": "YulIf", + "src": "3321:122:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3452:34:1", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3211:6:1" + "src": "3479:6:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "3198:12:1" + "src": "3466:12:1" }, "nodeType": "YulFunctionCall", - "src": "3198:20:1" + "src": "3466:20:1" }, - "variableNames": [ + "variables": [ { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3189:5:1" + "name": "length", + "nodeType": "YulTypedName", + "src": "3456:6:1", + "type": "" } ] }, { - "expression": { + "nodeType": "YulAssignment", + "src": "3495:87:1", + "value": { "arguments": [ { - "name": "value", + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3555:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3563:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3551:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3551:17:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3570:6:1" + }, + { + "name": "end", "nodeType": "YulIdentifier", - "src": "3254:5:1" + "src": "3578:3:1" } ], "functionName": { - "name": "validator_revert_t_uint256", + "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "3227:26:1" + "src": "3504:46:1" }, "nodeType": "YulFunctionCall", - "src": "3227:33:1" + "src": "3504:78:1" }, - "nodeType": "YulExpressionStatement", - "src": "3227:33:1" + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3495:5:1" + } + ] } ] }, - "name": "abi_decode_t_uint256", + "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "3157:6:1", + "src": "3289:6:1", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "3165:3:1", + "src": "3297:3:1", "type": "" } ], "returnVariables": [ { - "name": "value", + "name": "array", "nodeType": "YulTypedName", - "src": "3173:5:1", + "src": "3305:5:1", "type": "" } ], - "src": "3127:139:1" + "src": "3250:338:1" }, { "body": { "nodeType": "YulBlock", - "src": "3323:86:1", + "src": "3720:831:1", "statements": [ { "nodeType": "YulAssignment", - "src": "3333:29:1", + "src": "3730:99:1", "value": { "arguments": [ { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3355:6:1" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3342:12:1" - }, + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3821:6:1" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3755:65:1" + }, + "nodeType": "YulFunctionCall", + "src": "3755:73:1" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "3739:15:1" + }, "nodeType": "YulFunctionCall", - "src": "3342:20:1" + "src": "3739:90:1" }, "variableNames": [ { - "name": "value", + "name": "array", "nodeType": "YulIdentifier", - "src": "3333:5:1" + "src": "3730:5:1" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3838:16:1", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3849:5:1" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "3842:3:1", + "type": "" } ] }, @@ -2236,905 +2470,862 @@ "expression": { "arguments": [ { - "name": "value", + "name": "array", + "nodeType": "YulIdentifier", + "src": "3871:5:1" + }, + { + "name": "length", "nodeType": "YulIdentifier", - "src": "3397:5:1" + "src": "3878:6:1" } ], "functionName": { - "name": "validator_revert_t_uint64", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "3371:25:1" + "src": "3864:6:1" }, "nodeType": "YulFunctionCall", - "src": "3371:32:1" + "src": "3864:21:1" }, "nodeType": "YulExpressionStatement", - "src": "3371:32:1" - } - ] - }, - "name": "abi_decode_t_uint64", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3301:6:1", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3309:3:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3317:5:1", - "type": "" - } - ], - "src": "3272:137:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3465:85:1", - "statements": [ + "src": "3864:21:1" + }, { "nodeType": "YulAssignment", - "src": "3475:29:1", + "src": "3894:23:1", "value": { "arguments": [ { - "name": "offset", + "name": "array", "nodeType": "YulIdentifier", - "src": "3497:6:1" + "src": "3905:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3912:4:1", + "type": "", + "value": "0x20" } ], "functionName": { - "name": "calldataload", + "name": "add", "nodeType": "YulIdentifier", - "src": "3484:12:1" + "src": "3901:3:1" }, "nodeType": "YulFunctionCall", - "src": "3484:20:1" + "src": "3901:16:1" }, "variableNames": [ { - "name": "value", + "name": "dst", "nodeType": "YulIdentifier", - "src": "3475:5:1" + "src": "3894:3:1" } ] }, { - "expression": { + "nodeType": "YulVariableDeclaration", + "src": "3927:44:1", + "value": { "arguments": [ { - "name": "value", + "name": "offset", "nodeType": "YulIdentifier", - "src": "3538:5:1" + "src": "3945:6:1" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3957:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3965:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "3953:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "3953:17:1" } ], "functionName": { - "name": "validator_revert_t_uint8", + "name": "add", "nodeType": "YulIdentifier", - "src": "3513:24:1" + "src": "3941:3:1" }, "nodeType": "YulFunctionCall", - "src": "3513:31:1" + "src": "3941:30:1" }, - "nodeType": "YulExpressionStatement", - "src": "3513:31:1" - } - ] - }, - "name": "abi_decode_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3443:6:1", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3451:3:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3459:5:1", - "type": "" - } - ], - "src": "3415:135:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3700:835:1", - "statements": [ + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "3931:6:1", + "type": "" + } + ] + }, { "body": { "nodeType": "YulBlock", - "src": "3747:83:1", + "src": "3999:103:1", "statements": [ { "expression": { "arguments": [], "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "3749:77:1" + "src": "4013:77:1" }, "nodeType": "YulFunctionCall", - "src": "3749:79:1" + "src": "4013:79:1" }, "nodeType": "YulExpressionStatement", - "src": "3749:79:1" + "src": "4013:79:1" } ] }, "condition": { "arguments": [ { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3721:7:1" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3730:9:1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3717:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "3717:23:1" + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "3986:6:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3742:3:1", - "type": "", - "value": "128" + "name": "end", + "nodeType": "YulIdentifier", + "src": "3994:3:1" } ], "functionName": { - "name": "slt", + "name": "gt", "nodeType": "YulIdentifier", - "src": "3713:3:1" + "src": "3983:2:1" }, "nodeType": "YulFunctionCall", - "src": "3713:33:1" + "src": "3983:15:1" }, "nodeType": "YulIf", - "src": "3710:2:1" + "src": "3980:122:1" }, { - "nodeType": "YulBlock", - "src": "3840:117:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3855:15:1", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3869:1:1", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3859:6:1", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3884:63:1", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3919:9:1" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3930:6:1" - } - ], - "functionName": { - "name": "add", + "body": { + "nodeType": "YulBlock", + "src": "4187:358:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4202:36:1", + "value": { + "arguments": [ + { + "name": "src", "nodeType": "YulIdentifier", - "src": "3915:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "3915:22:1" + "src": "4234:3:1" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4221:12:1" }, + "nodeType": "YulFunctionCall", + "src": "4221:17:1" + }, + "variables": [ { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3939:7:1" + "name": "innerOffset", + "nodeType": "YulTypedName", + "src": "4206:11:1", + "type": "" } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "3894:20:1" - }, - "nodeType": "YulFunctionCall", - "src": "3894:53:1" + ] }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3884:6:1" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "3967:118:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3982:16:1", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3996:2:1", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3986:6:1", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4012:63:1", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4047:9:1" + { + "body": { + "nodeType": "YulBlock", + "src": "4290:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "4292:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "4292:79:1" }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4058:6:1" - } - ], - "functionName": { - "name": "add", + "nodeType": "YulExpressionStatement", + "src": "4292:79:1" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", "nodeType": "YulIdentifier", - "src": "4043:3:1" + "src": "4257:11:1" }, - "nodeType": "YulFunctionCall", - "src": "4043:22:1" - }, - { - "name": "dataEnd", + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4270:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", "nodeType": "YulIdentifier", - "src": "4067:7:1" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "4022:20:1" + "src": "4254:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "4254:35:1" }, - "nodeType": "YulFunctionCall", - "src": "4022:53:1" + "nodeType": "YulIf", + "src": "4251:122:1" }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4012:6:1" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4095:306:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4110:46:1", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4141:9:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4152:2:1", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", + { + "nodeType": "YulVariableDeclaration", + "src": "4386:42:1", + "value": { + "arguments": [ + { + "name": "offset", "nodeType": "YulIdentifier", - "src": "4137:3:1" + "src": "4408:6:1" }, - "nodeType": "YulFunctionCall", - "src": "4137:18:1" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4124:12:1" + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "4416:11:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4404:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "4404:24:1" }, - "nodeType": "YulFunctionCall", - "src": "4124:32:1" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4114:6:1", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4203:83:1", - "statements": [ + "variables": [ { - "expression": { - "arguments": [], + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "4390:10:1", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "4449:3:1" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "4484:10:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4496:3:1" + } + ], "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "4205:77:1" + "src": "4454:29:1" }, "nodeType": "YulFunctionCall", - "src": "4205:79:1" - }, - "nodeType": "YulExpressionStatement", - "src": "4205:79:1" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", + "src": "4454:46:1" + } + ], + "functionName": { + "name": "mstore", "nodeType": "YulIdentifier", - "src": "4175:6:1" + "src": "4442:6:1" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4183:18:1", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4172:2:1" + "nodeType": "YulFunctionCall", + "src": "4442:59:1" }, - "nodeType": "YulFunctionCall", - "src": "4172:30:1" + "nodeType": "YulExpressionStatement", + "src": "4442:59:1" }, - "nodeType": "YulIf", - "src": "4169:2:1" - }, - { - "nodeType": "YulAssignment", - "src": "4300:91:1", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4363:9:1" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4374:6:1" - } - ], - "functionName": { - "name": "add", + { + "nodeType": "YulAssignment", + "src": "4514:21:1", + "value": { + "arguments": [ + { + "name": "dst", "nodeType": "YulIdentifier", - "src": "4359:3:1" + "src": "4525:3:1" }, - "nodeType": "YulFunctionCall", - "src": "4359:22:1" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4530:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4521:3:1" }, + "nodeType": "YulFunctionCall", + "src": "4521:14:1" + }, + "variableNames": [ { - "name": "dataEnd", + "name": "dst", "nodeType": "YulIdentifier", - "src": "4383:7:1" + "src": "4514:3:1" } - ], - "functionName": { - "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", - "nodeType": "YulIdentifier", - "src": "4310:48:1" - }, - "nodeType": "YulFunctionCall", - "src": "4310:81:1" + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "4140:3:1" }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4300:6:1" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4411:117:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4426:16:1", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4440:2:1", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4430:6:1", - "type": "" - } - ] + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "4145:6:1" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4137:2:1" }, - { - "nodeType": "YulAssignment", - "src": "4456:62:1", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4490:9:1" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4501:6:1" - } - ], - "functionName": { - "name": "add", + "nodeType": "YulFunctionCall", + "src": "4137:15:1" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4153:25:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4155:21:1", + "value": { + "arguments": [ + { + "name": "src", "nodeType": "YulIdentifier", - "src": "4486:3:1" + "src": "4166:3:1" }, - "nodeType": "YulFunctionCall", - "src": "4486:22:1" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4171:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4162:3:1" }, + "nodeType": "YulFunctionCall", + "src": "4162:14:1" + }, + "variableNames": [ { - "name": "dataEnd", + "name": "src", "nodeType": "YulIdentifier", - "src": "4510:7:1" + "src": "4155:3:1" } - ], - "functionName": { - "name": "abi_decode_t_uint64", + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4115:21:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4117:17:1", + "value": { + "name": "offset", "nodeType": "YulIdentifier", - "src": "4466:19:1" + "src": "4128:6:1" }, - "nodeType": "YulFunctionCall", - "src": "4466:52:1" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4456:6:1" - } - ] - } - ] + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "4121:3:1", + "type": "" + } + ] + } + ] + }, + "src": "4111:434:1" } ] }, - "name": "abi_decode_tuple_t_addresst_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64", + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3646:9:1", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3657:7:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", + "name": "offset", "nodeType": "YulTypedName", - "src": "3669:6:1", + "src": "3690:6:1", "type": "" }, { - "name": "value1", + "name": "length", "nodeType": "YulTypedName", - "src": "3677:6:1", + "src": "3698:6:1", "type": "" }, { - "name": "value2", + "name": "end", "nodeType": "YulTypedName", - "src": "3685:6:1", + "src": "3706:3:1", "type": "" - }, + } + ], + "returnVariables": [ { - "name": "value3", + "name": "array", "nodeType": "YulTypedName", - "src": "3693:6:1", + "src": "3714:5:1", "type": "" } ], - "src": "3556:979:1" + "src": "3609:942:1" }, { "body": { "nodeType": "YulBlock", - "src": "4713:1023:1", + "src": "4658:302:1", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4760:83:1", + "src": "4707:83:1", "statements": [ { "expression": { "arguments": [], "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "4762:77:1" + "src": "4709:77:1" }, "nodeType": "YulFunctionCall", - "src": "4762:79:1" + "src": "4709:79:1" }, "nodeType": "YulExpressionStatement", - "src": "4762:79:1" + "src": "4709:79:1" } ] }, "condition": { "arguments": [ { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4734:7:1" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4743:9:1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4730:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "4730:23:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4755:3:1", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4726:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "4726:33:1" - }, - "nodeType": "YulIf", - "src": "4723:2:1" - }, - { - "nodeType": "YulBlock", - "src": "4853:305:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4868:45:1", - "value": { "arguments": [ { "arguments": [ { - "name": "headStart", + "name": "offset", "nodeType": "YulIdentifier", - "src": "4899:9:1" + "src": "4686:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4910:1:1", + "src": "4694:4:1", "type": "", - "value": "0" + "value": "0x1f" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4895:3:1" + "src": "4682:3:1" }, "nodeType": "YulFunctionCall", - "src": "4895:17:1" + "src": "4682:17:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4701:3:1" } ], "functionName": { - "name": "calldataload", + "name": "slt", "nodeType": "YulIdentifier", - "src": "4882:12:1" + "src": "4678:3:1" }, "nodeType": "YulFunctionCall", - "src": "4882:31:1" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4872:6:1", - "type": "" - } - ] + "src": "4678:27:1" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4671:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "4671:35:1" + }, + "nodeType": "YulIf", + "src": "4668:122:1" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4799:34:1", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4826:6:1" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4813:12:1" }, + "nodeType": "YulFunctionCall", + "src": "4813:20:1" + }, + "variables": [ { - "body": { - "nodeType": "YulBlock", - "src": "4960:83:1", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "4962:77:1" - }, - "nodeType": "YulFunctionCall", - "src": "4962:79:1" - }, - "nodeType": "YulExpressionStatement", - "src": "4962:79:1" - } - ] - }, - "condition": { + "name": "length", + "nodeType": "YulTypedName", + "src": "4803:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4842:112:1", + "value": { + "arguments": [ + { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "4932:6:1" + "src": "4927:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4940:18:1", + "src": "4935:4:1", "type": "", - "value": "0xffffffffffffffff" + "value": "0x20" } ], "functionName": { - "name": "gt", + "name": "add", "nodeType": "YulIdentifier", - "src": "4929:2:1" + "src": "4923:3:1" }, "nodeType": "YulFunctionCall", - "src": "4929:30:1" + "src": "4923:17:1" }, - "nodeType": "YulIf", - "src": "4926:2:1" + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4942:6:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4950:3:1" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4851:71:1" }, + "nodeType": "YulFunctionCall", + "src": "4851:103:1" + }, + "variableNames": [ { - "nodeType": "YulAssignment", - "src": "5057:91:1", - "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "4842:5:1" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4636:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4644:3:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "4652:5:1", + "type": "" + } + ], + "src": "4572:388:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5085:693:1", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5129:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f", + "nodeType": "YulIdentifier", + "src": "5131:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "5131:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "5131:79:1" + } + ] + }, + "condition": { + "arguments": [ + { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5120:9:1" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5131:6:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5116:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "5116:22:1" + "name": "end", + "nodeType": "YulIdentifier", + "src": "5106:3:1" }, { - "name": "dataEnd", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "5140:7:1" + "src": "5111:9:1" } ], "functionName": { - "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", + "name": "sub", "nodeType": "YulIdentifier", - "src": "5067:48:1" + "src": "5102:3:1" }, "nodeType": "YulFunctionCall", - "src": "5067:81:1" + "src": "5102:19:1" }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5057:6:1" - } - ] + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5123:4:1", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5098:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5098:30:1" + }, + "nodeType": "YulIf", + "src": "5095:117:1" + }, + { + "nodeType": "YulAssignment", + "src": "5221:30:1", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5246:4:1", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "5230:15:1" + }, + "nodeType": "YulFunctionCall", + "src": "5230:21:1" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5221:5:1" } ] }, { "nodeType": "YulBlock", - "src": "5168:118:1", + "src": "5261:151:1", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5183:16:1", + "src": "5299:15:1", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5197:2:1", + "src": "5313:1:1", "type": "", - "value": "32" + "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "5187:6:1", + "src": "5303:6:1", "type": "" } ] }, { - "nodeType": "YulAssignment", - "src": "5213:63:1", - "value": { + "expression": { "arguments": [ { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "5248:9:1" + "src": "5339:5:1" }, { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5259:6:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "5346:4:1", + "type": "", + "value": "0x00" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5244:3:1" + "src": "5335:3:1" }, "nodeType": "YulFunctionCall", - "src": "5244:22:1" + "src": "5335:16:1" }, { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5268:7:1" + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5376:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5387:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5372:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5372:22:1" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5396:3:1" + } + ], + "functionName": { + "name": "abi_decode_t_uint8", + "nodeType": "YulIdentifier", + "src": "5353:18:1" + }, + "nodeType": "YulFunctionCall", + "src": "5353:47:1" } ], "functionName": { - "name": "abi_decode_t_uint256", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "5223:20:1" + "src": "5328:6:1" }, "nodeType": "YulFunctionCall", - "src": "5223:53:1" + "src": "5328:73:1" }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5213:6:1" - } - ] + "nodeType": "YulExpressionStatement", + "src": "5328:73:1" } ] }, { "nodeType": "YulBlock", - "src": "5296:306:1", + "src": "5422:349:1", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5311:46:1", + "src": "5461:46:1", "value": { "arguments": [ { @@ -3142,38 +3333,38 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5342:9:1" + "src": "5492:9:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5353:2:1", + "src": "5503:2:1", "type": "", - "value": "64" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5338:3:1" + "src": "5488:3:1" }, "nodeType": "YulFunctionCall", - "src": "5338:18:1" + "src": "5488:18:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "5325:12:1" + "src": "5475:12:1" }, "nodeType": "YulFunctionCall", - "src": "5325:32:1" + "src": "5475:32:1" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "5315:6:1", + "src": "5465:6:1", "type": "" } ] @@ -3181,21 +3372,21 @@ { "body": { "nodeType": "YulBlock", - "src": "5404:83:1", + "src": "5554:83:1", "statements": [ { "expression": { "arguments": [], "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", "nodeType": "YulIdentifier", - "src": "5406:77:1" + "src": "5556:77:1" }, "nodeType": "YulFunctionCall", - "src": "5406:79:1" + "src": "5556:79:1" }, "nodeType": "YulExpressionStatement", - "src": "5406:79:1" + "src": "5556:79:1" } ] }, @@ -3204,12 +3395,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "5376:6:1" + "src": "5526:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5384:18:1", + "src": "5534:18:1", "type": "", "value": "0xffffffffffffffff" } @@ -3217,1591 +3408,1463 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "5373:2:1" + "src": "5523:2:1" }, "nodeType": "YulFunctionCall", - "src": "5373:30:1" + "src": "5523:30:1" }, "nodeType": "YulIf", - "src": "5370:2:1" + "src": "5520:117:1" }, { - "nodeType": "YulAssignment", - "src": "5501:91:1", - "value": { + "expression": { "arguments": [ { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "5564:9:1" + "src": "5662:5:1" }, { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5575:6:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "5669:4:1", + "type": "", + "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5560:3:1" + "src": "5658:3:1" }, "nodeType": "YulFunctionCall", - "src": "5560:22:1" + "src": "5658:16:1" }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5584:7:1" - } - ], - "functionName": { - "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", - "nodeType": "YulIdentifier", - "src": "5511:48:1" - }, - "nodeType": "YulFunctionCall", - "src": "5511:81:1" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5501:6:1" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "5612:117:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5627:16:1", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5641:2:1", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5631:6:1", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5657:62:1", - "value": { - "arguments": [ { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5691:9:1" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5735:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5746:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5731:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "5731:22:1" }, { - "name": "offset", + "name": "end", "nodeType": "YulIdentifier", - "src": "5702:6:1" + "src": "5755:3:1" } ], "functionName": { - "name": "add", + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulIdentifier", - "src": "5687:3:1" + "src": "5676:54:1" }, "nodeType": "YulFunctionCall", - "src": "5687:22:1" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5711:7:1" + "src": "5676:83:1" } ], "functionName": { - "name": "abi_decode_t_uint64", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "5667:19:1" + "src": "5651:6:1" }, "nodeType": "YulFunctionCall", - "src": "5667:52:1" + "src": "5651:109:1" }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "5657:6:1" - } - ] + "nodeType": "YulExpressionStatement", + "src": "5651:109:1" } ] } ] }, - "name": "abi_decode_tuple_t_struct$_Multilocation_$8_memory_ptrt_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64", + "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4659:9:1", + "src": "5060:9:1", "type": "" }, { - "name": "dataEnd", + "name": "end", "nodeType": "YulTypedName", - "src": "4670:7:1", + "src": "5071:3:1", "type": "" } ], "returnVariables": [ { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4682:6:1", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4690:6:1", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4698:6:1", - "type": "" - }, - { - "name": "value3", + "name": "value", "nodeType": "YulTypedName", - "src": "4706:6:1", + "src": "5079:5:1", "type": "" } ], - "src": "4541:1195:1" + "src": "5002:776:1" }, { "body": { "nodeType": "YulBlock", - "src": "5840:94:1", + "src": "5829:32:1", "statements": [ { "nodeType": "YulAssignment", - "src": "5850:78:1", + "src": "5839:16:1", "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5916:6:1" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5924:3:1" - } - ], - "functionName": { - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "5864:51:1" - }, - "nodeType": "YulFunctionCall", - "src": "5864:64:1" + "name": "value", + "nodeType": "YulIdentifier", + "src": "5850:5:1" }, "variableNames": [ { - "name": "updatedPos", + "name": "cleaned", "nodeType": "YulIdentifier", - "src": "5850:10:1" + "src": "5839:7:1" } ] } ] }, - "name": "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "name": "cleanup_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5813:6:1", - "type": "" - }, - { - "name": "pos", + "name": "value", "nodeType": "YulTypedName", - "src": "5821:3:1", + "src": "5811:5:1", "type": "" } ], "returnVariables": [ { - "name": "updatedPos", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "5829:10:1", + "src": "5821:7:1", "type": "" } ], - "src": "5742:192:1" + "src": "5784:77:1" }, { "body": { "nodeType": "YulBlock", - "src": "6005:53:1", + "src": "5910:79:1", "statements": [ { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "5967:16:1", + "statements": [ { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6022:3:1" - }, + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5976:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5979:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5969:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "5969:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "5969:12:1" + } + ] + }, + "condition": { + "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6045:5:1" + "src": "5933:5:1" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5958:5:1" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5940:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "5940:24:1" } ], "functionName": { - "name": "cleanup_t_address", + "name": "eq", "nodeType": "YulIdentifier", - "src": "6027:17:1" + "src": "5930:2:1" }, "nodeType": "YulFunctionCall", - "src": "6027:24:1" + "src": "5930:35:1" } ], "functionName": { - "name": "mstore", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "6015:6:1" + "src": "5923:6:1" }, "nodeType": "YulFunctionCall", - "src": "6015:37:1" + "src": "5923:43:1" }, - "nodeType": "YulExpressionStatement", - "src": "6015:37:1" + "nodeType": "YulIf", + "src": "5920:63:1" } ] }, - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "validator_revert_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "5993:5:1", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "6000:3:1", + "src": "5903:5:1", "type": "" } ], - "src": "5940:118:1" + "src": "5867:122:1" }, { "body": { "nodeType": "YulBlock", - "src": "6222:831:1", + "src": "6047:87:1", "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6232:77:1", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6303:5:1" - } - ], - "functionName": { - "name": "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "nodeType": "YulIdentifier", - "src": "6246:56:1" - }, - "nodeType": "YulFunctionCall", - "src": "6246:63:1" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "6236:6:1", - "type": "" - } - ] - }, { "nodeType": "YulAssignment", - "src": "6318:92:1", + "src": "6057:29:1", "value": { "arguments": [ { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6398:3:1" - }, - { - "name": "length", + "name": "offset", "nodeType": "YulIdentifier", - "src": "6403:6:1" + "src": "6079:6:1" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "calldataload", "nodeType": "YulIdentifier", - "src": "6325:72:1" + "src": "6066:12:1" }, "nodeType": "YulFunctionCall", - "src": "6325:85:1" + "src": "6066:20:1" }, "variableNames": [ { - "name": "pos", + "name": "value", "nodeType": "YulIdentifier", - "src": "6318:3:1" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6419:20:1", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6436:3:1" - }, - "variables": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6423:9:1", - "type": "" + "src": "6057:5:1" } ] }, { - "nodeType": "YulVariableDeclaration", - "src": "6448:39:1", - "value": { + "expression": { "arguments": [ { - "name": "pos", + "name": "value", "nodeType": "YulIdentifier", - "src": "6464:3:1" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "6473:6:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6481:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "6469:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "6469:17:1" + "src": "6122:5:1" } ], "functionName": { - "name": "add", + "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "6460:3:1" + "src": "6095:26:1" }, "nodeType": "YulFunctionCall", - "src": "6460:27:1" + "src": "6095:33:1" }, - "variables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6452:4:1", - "type": "" - } - ] - }, + "nodeType": "YulExpressionStatement", + "src": "6095:33:1" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6025:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6033:3:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6041:5:1", + "type": "" + } + ], + "src": "5995:139:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6184:57:1", + "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "6496:80:1", + "nodeType": "YulAssignment", + "src": "6194:41:1", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6570:5:1" + "src": "6209:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6216:18:1", + "type": "", + "value": "0xffffffffffffffff" } ], "functionName": { - "name": "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "and", "nodeType": "YulIdentifier", - "src": "6511:58:1" + "src": "6205:3:1" }, "nodeType": "YulFunctionCall", - "src": "6511:65:1" + "src": "6205:30:1" }, - "variables": [ + "variableNames": [ { - "name": "baseRef", - "nodeType": "YulTypedName", - "src": "6500:7:1", - "type": "" + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6194:7:1" } ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6585:21:1", - "value": { - "name": "baseRef", - "nodeType": "YulIdentifier", - "src": "6599:7:1" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "6589:6:1", - "type": "" - } - ] - }, + } + ] + }, + "name": "cleanup_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6166:5:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6176:7:1", + "type": "" + } + ], + "src": "6140:101:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6289:78:1", + "statements": [ { "body": { "nodeType": "YulBlock", - "src": "6675:333:1", + "src": "6345:16:1", "statements": [ { "expression": { "arguments": [ { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6696:3:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "6354:1:1", + "type": "", + "value": "0" }, { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6705:4:1" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6711:9:1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6701:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "6701:20:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "6357:1:1", + "type": "", + "value": "0" } ], "functionName": { - "name": "mstore", + "name": "revert", "nodeType": "YulIdentifier", - "src": "6689:6:1" + "src": "6347:6:1" }, "nodeType": "YulFunctionCall", - "src": "6689:33:1" + "src": "6347:12:1" }, "nodeType": "YulExpressionStatement", - "src": "6689:33:1" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6735:34:1", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "6762:6:1" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6756:5:1" - }, - "nodeType": "YulFunctionCall", - "src": "6756:13:1" - }, - "variables": [ - { - "name": "elementValue0", - "nodeType": "YulTypedName", - "src": "6739:13:1", - "type": "" - } - ] - }, + "src": "6347:12:1" + } + ] + }, + "condition": { + "arguments": [ { - "nodeType": "YulAssignment", - "src": "6782:90:1", - "value": { - "arguments": [ - { - "name": "elementValue0", - "nodeType": "YulIdentifier", - "src": "6852:13:1" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6867:4:1" - } - ], - "functionName": { - "name": "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "6790:61:1" - }, - "nodeType": "YulFunctionCall", - "src": "6790:82:1" - }, - "variableNames": [ + "arguments": [ { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6782:4:1" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6885:79:1", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "6957:6:1" - } - ], - "functionName": { - "name": "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "value", "nodeType": "YulIdentifier", - "src": "6895:61:1" + "src": "6312:5:1" }, - "nodeType": "YulFunctionCall", - "src": "6895:69:1" - }, - "variableNames": [ { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "6885:6:1" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6977:21:1", - "value": { - "arguments": [ - { - "name": "pos", + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6336:5:1" + } + ], + "functionName": { + "name": "cleanup_t_uint64", "nodeType": "YulIdentifier", - "src": "6988:3:1" + "src": "6319:16:1" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6993:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6984:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "6984:14:1" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6977:3:1" + "nodeType": "YulFunctionCall", + "src": "6319:23:1" } - ] + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6309:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "6309:34:1" } - ] + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6302:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "6302:42:1" }, - "condition": { + "nodeType": "YulIf", + "src": "6299:62:1" + } + ] + }, + "name": "validator_revert_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6282:5:1", + "type": "" + } + ], + "src": "6247:120:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6424:86:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6434:29:1", + "value": { "arguments": [ { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6637:1:1" - }, - { - "name": "length", + "name": "offset", "nodeType": "YulIdentifier", - "src": "6640:6:1" + "src": "6456:6:1" } ], "functionName": { - "name": "lt", + "name": "calldataload", "nodeType": "YulIdentifier", - "src": "6634:2:1" + "src": "6443:12:1" }, "nodeType": "YulFunctionCall", - "src": "6634:13:1" + "src": "6443:20:1" }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "6648:18:1", - "statements": [ + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6434:5:1" + } + ] + }, + { + "expression": { + "arguments": [ { - "nodeType": "YulAssignment", - "src": "6650:14:1", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6659:1:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6662:1:1", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6655:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "6655:9:1" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6650:1:1" - } - ] + "name": "value", + "nodeType": "YulIdentifier", + "src": "6498:5:1" } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "6619:14:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6621:10:1", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6630:1:1", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "6625:1:1", - "type": "" - } - ] - } - ] - }, - "src": "6615:393:1" - }, - { - "nodeType": "YulAssignment", - "src": "7017:11:1", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7024:4:1" - }, - "variableNames": [ - { - "name": "pos", + ], + "functionName": { + "name": "validator_revert_t_uint64", "nodeType": "YulIdentifier", - "src": "7017:3:1" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7037:10:1", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7044:3:1" + "src": "6472:25:1" + }, + "nodeType": "YulFunctionCall", + "src": "6472:32:1" }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7037:3:1" - } - ] + "nodeType": "YulExpressionStatement", + "src": "6472:32:1" } ] }, - "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "abi_decode_t_uint64", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", + "name": "offset", "nodeType": "YulTypedName", - "src": "6201:5:1", + "src": "6402:6:1", "type": "" }, { - "name": "pos", + "name": "end", "nodeType": "YulTypedName", - "src": "6208:3:1", + "src": "6410:3:1", "type": "" } ], "returnVariables": [ { - "name": "end", + "name": "value", "nodeType": "YulTypedName", - "src": "6217:3:1", + "src": "6418:5:1", "type": "" } ], - "src": "6090:963:1" + "src": "6373:137:1" }, { "body": { "nodeType": "YulBlock", - "src": "7139:260:1", + "src": "6705:1152:1", "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "7149:52:1", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7195:5:1" - } - ], - "functionName": { - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "7163:31:1" - }, - "nodeType": "YulFunctionCall", - "src": "7163:38:1" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7153:6:1", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7210:67:1", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7265:3:1" - }, + "body": { + "nodeType": "YulBlock", + "src": "6752:83:1", + "statements": [ { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7270:6:1" + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6754:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "6754:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "6754:79:1" } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "7217:47:1" - }, - "nodeType": "YulFunctionCall", - "src": "7217:60:1" + ] }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7210:3:1" - } - ] - }, - { - "expression": { + "condition": { "arguments": [ { "arguments": [ { - "name": "value", + "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7312:5:1" + "src": "6726:7:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7319:4:1", - "type": "", - "value": "0x20" + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6735:9:1" } ], "functionName": { - "name": "add", + "name": "sub", "nodeType": "YulIdentifier", - "src": "7308:3:1" + "src": "6722:3:1" }, "nodeType": "YulFunctionCall", - "src": "7308:16:1" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7326:3:1" + "src": "6722:23:1" }, { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7331:6:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "6747:3:1", + "type": "", + "value": "160" } ], "functionName": { - "name": "copy_memory_to_memory", + "name": "slt", "nodeType": "YulIdentifier", - "src": "7286:21:1" + "src": "6718:3:1" }, "nodeType": "YulFunctionCall", - "src": "7286:52:1" + "src": "6718:33:1" }, - "nodeType": "YulExpressionStatement", - "src": "7286:52:1" + "nodeType": "YulIf", + "src": "6715:120:1" }, { - "nodeType": "YulAssignment", - "src": "7347:46:1", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7358:3:1" - }, - { + "nodeType": "YulBlock", + "src": "6845:305:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6860:45:1", + "value": { "arguments": [ { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7385:6:1" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6891:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6902:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6887:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "6887:17:1" } ], "functionName": { - "name": "round_up_to_mul_of_32", + "name": "calldataload", "nodeType": "YulIdentifier", - "src": "7363:21:1" + "src": "6874:12:1" }, "nodeType": "YulFunctionCall", - "src": "7363:29:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7354:3:1" + "src": "6874:31:1" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6864:6:1", + "type": "" + } + ] }, - "nodeType": "YulFunctionCall", - "src": "7354:39:1" - }, - "variableNames": [ { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7347:3:1" - } - ] - } - ] - }, - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7120:5:1", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7127:3:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7135:3:1", - "type": "" - } - ], - "src": "7059:340:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7484:80:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7501:3:1" + "body": { + "nodeType": "YulBlock", + "src": "6952:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "6954:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "6954:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "6954:79:1" + } + ] }, - { + "condition": { "arguments": [ { - "name": "value", + "name": "offset", "nodeType": "YulIdentifier", - "src": "7551:5:1" + "src": "6924:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6932:18:1", + "type": "", + "value": "0xffffffffffffffff" } ], "functionName": { - "name": "convert_t_contract$_Xtokens_$36_to_t_address", + "name": "gt", "nodeType": "YulIdentifier", - "src": "7506:44:1" + "src": "6921:2:1" }, "nodeType": "YulFunctionCall", - "src": "7506:51:1" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7494:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "7494:64:1" - }, - "nodeType": "YulExpressionStatement", - "src": "7494:64:1" - } - ] - }, - "name": "abi_encode_t_contract$_Xtokens_$36_to_t_address_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7472:5:1", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7479:3:1", - "type": "" - } - ], - "src": "7405:159:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7768:533:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7778:26:1", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7794:3:1" + "src": "6921:30:1" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7799:4:1", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7790:3:1" + "nodeType": "YulIf", + "src": "6918:117:1" }, - "nodeType": "YulFunctionCall", - "src": "7790:14:1" - }, - "variables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7782:4:1", - "type": "" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "7814:163:1", - "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "7852:43:1", + "nodeType": "YulAssignment", + "src": "7049:91:1", "value": { "arguments": [ { "arguments": [ { - "name": "value", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "7882:5:1" + "src": "7112:9:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7889:4:1", - "type": "", - "value": "0x00" + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7123:6:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7878:3:1" + "src": "7108:3:1" }, "nodeType": "YulFunctionCall", - "src": "7878:16:1" + "src": "7108:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7132:7:1" } ], "functionName": { - "name": "mload", + "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", "nodeType": "YulIdentifier", - "src": "7872:5:1" + "src": "7059:48:1" }, "nodeType": "YulFunctionCall", - "src": "7872:23:1" + "src": "7059:81:1" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7049:6:1" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7160:118:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7175:16:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7189:2:1", + "type": "", + "value": "32" }, "variables": [ { - "name": "memberValue0", + "name": "offset", "nodeType": "YulTypedName", - "src": "7856:12:1", + "src": "7179:6:1", "type": "" } ] }, { - "expression": { + "nodeType": "YulAssignment", + "src": "7205:63:1", + "value": { "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "7938:12:1" - }, { "arguments": [ { - "name": "pos", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "7956:3:1" + "src": "7240:9:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7961:4:1", - "type": "", - "value": "0x00" + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7251:6:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7952:3:1" + "src": "7236:3:1" }, "nodeType": "YulFunctionCall", - "src": "7952:14:1" + "src": "7236:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7260:7:1" } ], "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8", + "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "7908:29:1" + "src": "7215:20:1" }, "nodeType": "YulFunctionCall", - "src": "7908:59:1" + "src": "7215:53:1" }, - "nodeType": "YulExpressionStatement", - "src": "7908:59:1" + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7205:6:1" + } + ] } ] }, { "nodeType": "YulBlock", - "src": "7987:287:1", + "src": "7288:118:1", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8026:43:1", + "src": "7303:16:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7317:2:1", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7307:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7333:63:1", "value": { "arguments": [ { "arguments": [ { - "name": "value", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "8056:5:1" + "src": "7368:9:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8063:4:1", - "type": "", - "value": "0x20" + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7379:6:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8052:3:1" + "src": "7364:3:1" }, "nodeType": "YulFunctionCall", - "src": "8052:16:1" + "src": "7364:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7388:7:1" } ], "functionName": { - "name": "mload", + "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "8046:5:1" + "src": "7343:20:1" }, "nodeType": "YulFunctionCall", - "src": "8046:23:1" + "src": "7343:53:1" }, - "variables": [ + "variableNames": [ { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "8030:12:1", - "type": "" + "name": "value2", + "nodeType": "YulIdentifier", + "src": "7333:6:1" } ] - }, + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7416:306:1", + "statements": [ { - "expression": { + "nodeType": "YulVariableDeclaration", + "src": "7431:46:1", + "value": { "arguments": [ { "arguments": [ { - "name": "pos", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "8094:3:1" + "src": "7462:9:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8099:4:1", + "src": "7473:2:1", "type": "", - "value": "0x20" + "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8090:3:1" + "src": "7458:3:1" }, "nodeType": "YulFunctionCall", - "src": "8090:14:1" - }, + "src": "7458:18:1" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7445:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "7445:32:1" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7435:6:1", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7524:83:1", + "statements": [ { - "arguments": [ - { - "name": "tail", + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "8110:4:1" + "src": "7526:77:1" }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8116:3:1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8106:3:1" + "nodeType": "YulFunctionCall", + "src": "7526:79:1" }, - "nodeType": "YulFunctionCall", - "src": "8106:14:1" + "nodeType": "YulExpressionStatement", + "src": "7526:79:1" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7496:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7504:18:1", + "type": "", + "value": "0xffffffffffffffff" } ], "functionName": { - "name": "mstore", + "name": "gt", "nodeType": "YulIdentifier", - "src": "8083:6:1" + "src": "7493:2:1" }, "nodeType": "YulFunctionCall", - "src": "8083:38:1" + "src": "7493:30:1" }, - "nodeType": "YulExpressionStatement", - "src": "8083:38:1" + "nodeType": "YulIf", + "src": "7490:117:1" }, { "nodeType": "YulAssignment", - "src": "8134:129:1", + "src": "7621:91:1", "value": { "arguments": [ { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "8244:12:1" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7684:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7695:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7680:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7680:22:1" }, { - "name": "tail", + "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8258:4:1" + "src": "7704:7:1" } ], "functionName": { - "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", "nodeType": "YulIdentifier", - "src": "8142:101:1" + "src": "7631:48:1" }, "nodeType": "YulFunctionCall", - "src": "8142:121:1" + "src": "7631:81:1" }, "variableNames": [ { - "name": "tail", + "name": "value3", "nodeType": "YulIdentifier", - "src": "8134:4:1" + "src": "7621:6:1" } ] } ] }, { - "nodeType": "YulAssignment", - "src": "8284:11:1", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8291:4:1" - }, - "variableNames": [ + "nodeType": "YulBlock", + "src": "7732:118:1", + "statements": [ { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8284:3:1" + "nodeType": "YulVariableDeclaration", + "src": "7747:17:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7761:3:1", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7751:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7778:62:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7812:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7823:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7808:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "7808:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7832:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "7788:19:1" + }, + "nodeType": "YulFunctionCall", + "src": "7788:52:1" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "7778:6:1" + } + ] } ] } ] }, - "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "name": "abi_decode_tuple_t_struct$_Multilocation_$8_memory_ptrt_uint256t_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", + "name": "headStart", "nodeType": "YulTypedName", - "src": "7747:5:1", + "src": "6643:9:1", "type": "" }, { - "name": "pos", + "name": "dataEnd", "nodeType": "YulTypedName", - "src": "7754:3:1", + "src": "6654:7:1", "type": "" } ], "returnVariables": [ { - "name": "end", + "name": "value0", + "nodeType": "YulTypedName", + "src": "6666:6:1", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6674:6:1", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "6682:6:1", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "6690:6:1", + "type": "" + }, + { + "name": "value4", "nodeType": "YulTypedName", - "src": "7763:3:1", + "src": "6698:6:1", "type": "" } ], - "src": "7638:663:1" + "src": "6516:1341:1" }, { "body": { "nodeType": "YulBlock", - "src": "8372:53:1", + "src": "7908:81:1", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "7918:65:1", + "value": { "arguments": [ { - "name": "pos", + "name": "value", "nodeType": "YulIdentifier", - "src": "8389:3:1" + "src": "7933:5:1" }, { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8412:5:1" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "8394:17:1" - }, - "nodeType": "YulFunctionCall", - "src": "8394:24:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "7940:42:1", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { - "name": "mstore", + "name": "and", "nodeType": "YulIdentifier", - "src": "8382:6:1" + "src": "7929:3:1" }, "nodeType": "YulFunctionCall", - "src": "8382:37:1" + "src": "7929:54:1" }, - "nodeType": "YulExpressionStatement", - "src": "8382:37:1" + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7918:7:1" + } + ] } ] }, - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "cleanup_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "8360:5:1", + "src": "7890:5:1", "type": "" - }, + } + ], + "returnVariables": [ { - "name": "pos", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "8367:3:1", + "src": "7900:7:1", "type": "" } ], - "src": "8307:118:1" + "src": "7863:126:1" }, { "body": { "nodeType": "YulBlock", - "src": "8494:52:1", + "src": "8040:51:1", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "8050:35:1", + "value": { "arguments": [ { - "name": "pos", + "name": "value", "nodeType": "YulIdentifier", - "src": "8511:3:1" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8533:5:1" - } - ], - "functionName": { - "name": "cleanup_t_uint64", - "nodeType": "YulIdentifier", - "src": "8516:16:1" - }, - "nodeType": "YulFunctionCall", - "src": "8516:23:1" + "src": "8079:5:1" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "8504:6:1" + "src": "8061:17:1" }, "nodeType": "YulFunctionCall", - "src": "8504:36:1" + "src": "8061:24:1" }, - "nodeType": "YulExpressionStatement", - "src": "8504:36:1" + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "8050:7:1" + } + ] } ] }, - "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "name": "cleanup_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "8482:5:1", + "src": "8022:5:1", "type": "" - }, + } + ], + "returnVariables": [ { - "name": "pos", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "8489:3:1", + "src": "8032:7:1", "type": "" } ], - "src": "8431:115:1" + "src": "7995:96:1" }, { "body": { "nodeType": "YulBlock", - "src": "8603:51:1", + "src": "8140:79:1", "statements": [ { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "8197:16:1", + "statements": [ { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8620:3:1" - }, + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8206:1:1", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8209:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8199:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "8199:12:1" + }, + "nodeType": "YulExpressionStatement", + "src": "8199:12:1" + } + ] + }, + "condition": { + "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "8641:5:1" + "src": "8163:5:1" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8188:5:1" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "8170:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "8170:24:1" } ], "functionName": { - "name": "cleanup_t_uint8", + "name": "eq", "nodeType": "YulIdentifier", - "src": "8625:15:1" + "src": "8160:2:1" }, "nodeType": "YulFunctionCall", - "src": "8625:22:1" + "src": "8160:35:1" } ], "functionName": { - "name": "mstore", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "8613:6:1" + "src": "8153:6:1" }, "nodeType": "YulFunctionCall", - "src": "8613:35:1" + "src": "8153:43:1" }, - "nodeType": "YulExpressionStatement", - "src": "8613:35:1" + "nodeType": "YulIf", + "src": "8150:63:1" } ] }, - "name": "abi_encode_t_uint8_to_t_uint8", + "name": "validator_revert_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "8591:5:1", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8598:3:1", + "src": "8133:5:1", "type": "" } ], - "src": "8552:102:1" + "src": "8097:122:1" }, { "body": { "nodeType": "YulBlock", - "src": "8896:476:1", + "src": "8277:87:1", "statements": [ { "nodeType": "YulAssignment", - "src": "8906:27:1", + "src": "8287:29:1", "value": { "arguments": [ { - "name": "headStart", + "name": "offset", "nodeType": "YulIdentifier", - "src": "8918:9:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8929:3:1", - "type": "", - "value": "128" + "src": "8309:6:1" } ], "functionName": { - "name": "add", + "name": "calldataload", "nodeType": "YulIdentifier", - "src": "8914:3:1" + "src": "8296:12:1" }, "nodeType": "YulFunctionCall", - "src": "8914:19:1" + "src": "8296:20:1" }, "variableNames": [ { - "name": "tail", + "name": "value", "nodeType": "YulIdentifier", - "src": "8906:4:1" + "src": "8287:5:1" } ] }, @@ -4809,505 +4872,933 @@ "expression": { "arguments": [ { - "name": "value0", + "name": "value", "nodeType": "YulIdentifier", - "src": "8987:6:1" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9000:9:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9011:1:1", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8996:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "8996:17:1" + "src": "8352:5:1" } ], "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", + "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "8943:43:1" + "src": "8325:26:1" }, "nodeType": "YulFunctionCall", - "src": "8943:71:1" + "src": "8325:33:1" }, "nodeType": "YulExpressionStatement", - "src": "8943:71:1" - }, + "src": "8325:33:1" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8255:6:1", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8263:3:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8271:5:1", + "type": "" + } + ], + "src": "8225:139:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8531:964:1", + "statements": [ { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "8578:83:1", + "statements": [ { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9068:6:1" - }, + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "8580:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "8580:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "8580:79:1" + } + ] + }, + "condition": { + "arguments": [ { "arguments": [ { - "name": "headStart", + "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "9081:9:1" + "src": "8552:7:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9092:2:1", - "type": "", - "value": "32" + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8561:9:1" } ], "functionName": { - "name": "add", + "name": "sub", "nodeType": "YulIdentifier", - "src": "9077:3:1" + "src": "8548:3:1" }, "nodeType": "YulFunctionCall", - "src": "9077:18:1" + "src": "8548:23:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8573:3:1", + "type": "", + "value": "160" } ], "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "slt", "nodeType": "YulIdentifier", - "src": "9024:43:1" + "src": "8544:3:1" }, "nodeType": "YulFunctionCall", - "src": "9024:72:1" + "src": "8544:33:1" }, - "nodeType": "YulExpressionStatement", - "src": "9024:72:1" + "nodeType": "YulIf", + "src": "8541:120:1" }, { - "expression": { - "arguments": [ - { + "nodeType": "YulBlock", + "src": "8671:117:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8686:15:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8700:1:1", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8690:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8715:63:1", + "value": { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9117:9:1" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8750:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8761:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8746:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8746:22:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9128:2:1", - "type": "", - "value": "64" + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8770:7:1" } ], "functionName": { - "name": "add", + "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "9113:3:1" + "src": "8725:20:1" }, "nodeType": "YulFunctionCall", - "src": "9113:18:1" + "src": "8725:53:1" }, - { + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8715:6:1" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8798:118:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8813:16:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8827:2:1", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8817:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8843:63:1", + "value": { "arguments": [ { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9137:4:1" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8878:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8889:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8874:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "8874:22:1" }, { - "name": "headStart", + "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "9143:9:1" + "src": "8898:7:1" } ], "functionName": { - "name": "sub", + "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "9133:3:1" + "src": "8853:20:1" }, "nodeType": "YulFunctionCall", - "src": "9133:20:1" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9106:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "9106:48:1" - }, - "nodeType": "YulExpressionStatement", - "src": "9106:48:1" - }, - { - "nodeType": "YulAssignment", - "src": "9163:122:1", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9271:6:1" + "src": "8853:53:1" }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9280:4:1" - } - ], - "functionName": { - "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "9171:99:1" - }, - "nodeType": "YulFunctionCall", - "src": "9171:114:1" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9163:4:1" + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8843:6:1" + } + ] } ] }, { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "9337:6:1" + "nodeType": "YulBlock", + "src": "8926:118:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8941:16:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8955:2:1", + "type": "", + "value": "64" }, - { + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8945:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8971:63:1", + "value": { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9350:9:1" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9006:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9017:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9002:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9002:22:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9361:2:1", + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9026:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "8981:20:1" + }, + "nodeType": "YulFunctionCall", + "src": "8981:53:1" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "8971:6:1" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9054:306:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9069:46:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9100:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9111:2:1", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9096:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9096:18:1" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9083:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "9083:32:1" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9073:6:1", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9162:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "9164:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "9164:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "9164:79:1" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9134:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9142:18:1", "type": "", - "value": "96" + "value": "0xffffffffffffffff" } ], "functionName": { - "name": "add", + "name": "gt", "nodeType": "YulIdentifier", - "src": "9346:3:1" + "src": "9131:2:1" }, "nodeType": "YulFunctionCall", - "src": "9346:18:1" - } - ], - "functionName": { - "name": "abi_encode_t_uint64_to_t_uint64_fromStack", - "nodeType": "YulIdentifier", - "src": "9295:41:1" + "src": "9131:30:1" + }, + "nodeType": "YulIf", + "src": "9128:117:1" }, - "nodeType": "YulFunctionCall", - "src": "9295:70:1" - }, - "nodeType": "YulExpressionStatement", - "src": "9295:70:1" + { + "nodeType": "YulAssignment", + "src": "9259:91:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9322:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9333:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9318:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9318:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9342:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9269:48:1" + }, + "nodeType": "YulFunctionCall", + "src": "9269:81:1" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "9259:6:1" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9370:118:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9385:17:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9399:3:1", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9389:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9416:62:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9450:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9461:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9446:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "9446:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9470:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "9426:19:1" + }, + "nodeType": "YulFunctionCall", + "src": "9426:52:1" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "9416:6:1" + } + ] + } + ] } ] }, - "name": "abi_encode_tuple_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed", + "name": "abi_decode_tuple_t_addresst_uint256t_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8844:9:1", + "src": "8469:9:1", "type": "" }, { - "name": "value3", + "name": "dataEnd", "nodeType": "YulTypedName", - "src": "8856:6:1", + "src": "8480:7:1", "type": "" - }, + } + ], + "returnVariables": [ { - "name": "value2", + "name": "value0", "nodeType": "YulTypedName", - "src": "8864:6:1", + "src": "8492:6:1", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "8872:6:1", + "src": "8500:6:1", "type": "" }, { - "name": "value0", + "name": "value2", "nodeType": "YulTypedName", - "src": "8880:6:1", + "src": "8508:6:1", "type": "" - } - ], - "returnVariables": [ + }, { - "name": "tail", + "name": "value3", + "nodeType": "YulTypedName", + "src": "8516:6:1", + "type": "" + }, + { + "name": "value4", "nodeType": "YulTypedName", - "src": "8891:4:1", + "src": "8524:6:1", "type": "" } ], - "src": "8660:712:1" + "src": "8370:1125:1" }, { "body": { "nodeType": "YulBlock", - "src": "9490:138:1", + "src": "9533:28:1", "statements": [ { "nodeType": "YulAssignment", - "src": "9500:26:1", + "src": "9543:12:1", "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9512:9:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9523:2:1", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9508:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "9508:18:1" + "name": "value", + "nodeType": "YulIdentifier", + "src": "9550:5:1" }, "variableNames": [ { - "name": "tail", + "name": "ret", "nodeType": "YulIdentifier", - "src": "9500:4:1" + "src": "9543:3:1" } ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9594:6:1" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9607:9:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9618:1:1", - "type": "", - "value": "0" + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9519:5:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "9529:3:1", + "type": "" + } + ], + "src": "9501:60:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9627:82:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9637:66:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9695:5:1" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "9677:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "9677:24:1" } ], "functionName": { - "name": "add", + "name": "identity", "nodeType": "YulIdentifier", - "src": "9603:3:1" + "src": "9668:8:1" }, "nodeType": "YulFunctionCall", - "src": "9603:17:1" + "src": "9668:34:1" } ], "functionName": { - "name": "abi_encode_t_contract$_Xtokens_$36_to_t_address_fromStack", + "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "9536:57:1" + "src": "9650:17:1" }, "nodeType": "YulFunctionCall", - "src": "9536:85:1" + "src": "9650:53:1" }, - "nodeType": "YulExpressionStatement", - "src": "9536:85:1" + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "9637:9:1" + } + ] } ] }, - "name": "abi_encode_tuple_t_contract$_Xtokens_$36__to_t_address__fromStack_reversed", + "name": "convert_t_uint160_to_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "value", "nodeType": "YulTypedName", - "src": "9462:9:1", + "src": "9607:5:1", "type": "" - }, + } + ], + "returnVariables": [ { - "name": "value0", + "name": "converted", + "nodeType": "YulTypedName", + "src": "9617:9:1", + "type": "" + } + ], + "src": "9567:142:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9775:66:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9785:50:1", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9829:5:1" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_uint160", + "nodeType": "YulIdentifier", + "src": "9798:30:1" + }, + "nodeType": "YulFunctionCall", + "src": "9798:37:1" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "9785:9:1" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", "nodeType": "YulTypedName", - "src": "9474:6:1", + "src": "9755:5:1", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "converted", "nodeType": "YulTypedName", - "src": "9485:4:1", + "src": "9765:9:1", "type": "" } ], - "src": "9378:250:1" + "src": "9715:126:1" }, { "body": { "nodeType": "YulBlock", - "src": "9926:583:1", + "src": "9921:66:1", "statements": [ { "nodeType": "YulAssignment", - "src": "9936:27:1", + "src": "9931:50:1", "value": { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "9948:9:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9959:3:1", - "type": "", - "value": "128" + "src": "9975:5:1" } ], "functionName": { - "name": "add", + "name": "convert_t_uint160_to_t_address", "nodeType": "YulIdentifier", - "src": "9944:3:1" + "src": "9944:30:1" }, "nodeType": "YulFunctionCall", - "src": "9944:19:1" + "src": "9944:37:1" }, "variableNames": [ { - "name": "tail", + "name": "converted", "nodeType": "YulIdentifier", - "src": "9936:4:1" + "src": "9931:9:1" } ] - }, + } + ] + }, + "name": "convert_t_contract$_Xtokens_$67_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9901:5:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "9911:9:1", + "type": "" + } + ], + "src": "9847:140:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10072:80:1", + "statements": [ { "expression": { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9984:9:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9995:1:1", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9980:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "9980:17:1" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10089:3:1" }, { "arguments": [ { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10003:4:1" - }, - { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "10009:9:1" + "src": "10139:5:1" } ], "functionName": { - "name": "sub", + "name": "convert_t_contract$_Xtokens_$67_to_t_address", "nodeType": "YulIdentifier", - "src": "9999:3:1" + "src": "10094:44:1" }, "nodeType": "YulFunctionCall", - "src": "9999:20:1" + "src": "10094:51:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9973:6:1" + "src": "10082:6:1" }, "nodeType": "YulFunctionCall", - "src": "9973:47:1" + "src": "10082:64:1" }, "nodeType": "YulExpressionStatement", - "src": "9973:47:1" - }, + "src": "10082:64:1" + } + ] + }, + "name": "abi_encode_t_contract$_Xtokens_$67_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10060:5:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10067:3:1", + "type": "" + } + ], + "src": "9993:159:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10270:138:1", + "statements": [ { "nodeType": "YulAssignment", - "src": "10029:122:1", + "src": "10280:26:1", "value": { "arguments": [ { - "name": "value0", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "10137:6:1" + "src": "10292:9:1" }, { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10146:4:1" + "kind": "number", + "nodeType": "YulLiteral", + "src": "10303:2:1", + "type": "", + "value": "32" } ], "functionName": { - "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "name": "add", "nodeType": "YulIdentifier", - "src": "10037:99:1" + "src": "10288:3:1" }, "nodeType": "YulFunctionCall", - "src": "10037:114:1" + "src": "10288:18:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "10029:4:1" + "src": "10280:4:1" } ] }, @@ -5315,795 +5806,1209 @@ "expression": { "arguments": [ { - "name": "value1", + "name": "value0", "nodeType": "YulIdentifier", - "src": "10205:6:1" + "src": "10374:6:1" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10218:9:1" + "src": "10387:9:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10229:2:1", + "src": "10398:1:1", "type": "", - "value": "32" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10214:3:1" + "src": "10383:3:1" }, "nodeType": "YulFunctionCall", - "src": "10214:18:1" + "src": "10383:17:1" } ], "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "name": "abi_encode_t_contract$_Xtokens_$67_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "10161:43:1" + "src": "10316:57:1" }, "nodeType": "YulFunctionCall", - "src": "10161:72:1" + "src": "10316:85:1" }, "nodeType": "YulExpressionStatement", - "src": "10161:72:1" - }, + "src": "10316:85:1" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_Xtokens_$67__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10242:9:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10254:6:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10265:4:1", + "type": "" + } + ], + "src": "10158:250:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10586:1023:1", + "statements": [ { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "10633:83:1", + "statements": [ { - "arguments": [ - { - "name": "headStart", + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "10254:9:1" + "src": "10635:77:1" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10265:2:1", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10250:3:1" + "nodeType": "YulFunctionCall", + "src": "10635:79:1" }, - "nodeType": "YulFunctionCall", - "src": "10250:18:1" - }, + "nodeType": "YulExpressionStatement", + "src": "10635:79:1" + } + ] + }, + "condition": { + "arguments": [ { "arguments": [ { - "name": "tail", + "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "10274:4:1" + "src": "10607:7:1" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10280:9:1" + "src": "10616:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "10270:3:1" + "src": "10603:3:1" }, "nodeType": "YulFunctionCall", - "src": "10270:20:1" + "src": "10603:23:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10628:3:1", + "type": "", + "value": "128" } ], "functionName": { - "name": "mstore", + "name": "slt", "nodeType": "YulIdentifier", - "src": "10243:6:1" + "src": "10599:3:1" }, "nodeType": "YulFunctionCall", - "src": "10243:48:1" + "src": "10599:33:1" }, - "nodeType": "YulExpressionStatement", - "src": "10243:48:1" + "nodeType": "YulIf", + "src": "10596:120:1" }, { - "nodeType": "YulAssignment", - "src": "10300:122:1", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10408:6:1" + "nodeType": "YulBlock", + "src": "10726:305:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10741:45:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10772:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10783:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10768:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10768:17:1" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10755:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "10755:31:1" }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10417:4:1" - } - ], - "functionName": { - "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "10308:99:1" + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10745:6:1", + "type": "" + } + ] }, - "nodeType": "YulFunctionCall", - "src": "10308:114:1" - }, - "variableNames": [ { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10300:4:1" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10474:6:1" + "body": { + "nodeType": "YulBlock", + "src": "10833:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "10835:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "10835:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "10835:79:1" + } + ] }, - { + "condition": { "arguments": [ { - "name": "headStart", + "name": "offset", "nodeType": "YulIdentifier", - "src": "10487:9:1" + "src": "10805:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10498:2:1", + "src": "10813:18:1", "type": "", - "value": "96" + "value": "0xffffffffffffffff" } ], "functionName": { - "name": "add", + "name": "gt", "nodeType": "YulIdentifier", - "src": "10483:3:1" + "src": "10802:2:1" }, "nodeType": "YulFunctionCall", - "src": "10483:18:1" - } - ], - "functionName": { - "name": "abi_encode_t_uint64_to_t_uint64_fromStack", - "nodeType": "YulIdentifier", - "src": "10432:41:1" - }, - "nodeType": "YulFunctionCall", - "src": "10432:70:1" - }, - "nodeType": "YulExpressionStatement", - "src": "10432:70:1" - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9874:9:1", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9886:6:1", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9894:6:1", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9902:6:1", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9910:6:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9921:4:1", - "type": "" - } - ], - "src": "9634:875:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10556:88:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10566:30:1", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "10576:18:1" + "src": "10802:30:1" + }, + "nodeType": "YulIf", + "src": "10799:117:1" }, - "nodeType": "YulFunctionCall", - "src": "10576:20:1" - }, - "variableNames": [ { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10566:6:1" + "nodeType": "YulAssignment", + "src": "10930:91:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10993:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11004:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10989:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "10989:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11013:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10940:48:1" + }, + "nodeType": "YulFunctionCall", + "src": "10940:81:1" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10930:6:1" + } + ] } ] }, { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10625:6:1" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10633:4:1" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "10605:19:1" - }, - "nodeType": "YulFunctionCall", - "src": "10605:33:1" - }, - "nodeType": "YulExpressionStatement", - "src": "10605:33:1" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10540:4:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "10549:6:1", - "type": "" - } - ], - "src": "10515:129:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10690:35:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10700:19:1", - "value": { - "arguments": [ - { + "nodeType": "YulBlock", + "src": "11041:118:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11056:16:1", + "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "10716:2:1", + "src": "11070:2:1", "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "10710:5:1" + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11060:6:1", + "type": "" + } + ] }, - "nodeType": "YulFunctionCall", - "src": "10710:9:1" - }, - "variableNames": [ { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10700:6:1" + "nodeType": "YulAssignment", + "src": "11086:63:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11121:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11132:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11117:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11117:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11141:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "11096:20:1" + }, + "nodeType": "YulFunctionCall", + "src": "11096:53:1" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11086:6:1" + } + ] } ] - } - ] - }, - "name": "allocate_unbounded", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "10683:6:1", - "type": "" - } - ], - "src": "10650:75:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10822:229:1", - "statements": [ + }, { - "body": { - "nodeType": "YulBlock", - "src": "10927:22:1", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "10929:16:1" - }, - "nodeType": "YulFunctionCall", - "src": "10929:18:1" + "nodeType": "YulBlock", + "src": "11169:306:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11184:46:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11215:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11226:2:1", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11211:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11211:18:1" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11198:12:1" }, - "nodeType": "YulExpressionStatement", - "src": "10929:18:1" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10899:6:1" + "nodeType": "YulFunctionCall", + "src": "11198:32:1" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10907:18:1", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10896:2:1" + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11188:6:1", + "type": "" + } + ] }, - "nodeType": "YulFunctionCall", - "src": "10896:30:1" - }, - "nodeType": "YulIf", - "src": "10893:2:1" - }, - { - "nodeType": "YulAssignment", - "src": "10959:25:1", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10971:6:1" + { + "body": { + "nodeType": "YulBlock", + "src": "11277:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "11279:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "11279:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "11279:79:1" + } + ] }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10979:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "10967:3:1" + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11249:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11257:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11246:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "11246:30:1" + }, + "nodeType": "YulIf", + "src": "11243:117:1" }, - "nodeType": "YulFunctionCall", - "src": "10967:17:1" - }, - "variableNames": [ { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10959:4:1" + "nodeType": "YulAssignment", + "src": "11374:91:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11437:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11448:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11433:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11433:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11457:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11384:48:1" + }, + "nodeType": "YulFunctionCall", + "src": "11384:81:1" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "11374:6:1" + } + ] } ] }, { - "nodeType": "YulAssignment", - "src": "11021:23:1", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "11033:4:1" - }, - { + "nodeType": "YulBlock", + "src": "11485:117:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11500:16:1", + "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "11039:4:1", + "src": "11514:2:1", "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11029:3:1" + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11504:6:1", + "type": "" + } + ] }, - "nodeType": "YulFunctionCall", - "src": "11029:15:1" - }, - "variableNames": [ { - "name": "size", - "nodeType": "YulIdentifier", - "src": "11021:4:1" + "nodeType": "YulAssignment", + "src": "11530:62:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11564:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11575:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11560:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11560:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11584:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "11540:19:1" + }, + "nodeType": "YulFunctionCall", + "src": "11540:52:1" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "11530:6:1" + } + ] } ] } ] }, - "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "abi_decode_tuple_t_struct$_Multilocation_$8_memory_ptrt_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "length", + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10532:9:1", + "type": "" + }, + { + "name": "dataEnd", "nodeType": "YulTypedName", - "src": "10806:6:1", + "src": "10543:7:1", "type": "" } ], "returnVariables": [ { - "name": "size", + "name": "value0", + "nodeType": "YulTypedName", + "src": "10555:6:1", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10563:6:1", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "10571:6:1", + "type": "" + }, + { + "name": "value3", "nodeType": "YulTypedName", - "src": "10817:4:1", + "src": "10579:6:1", "type": "" } ], - "src": "10731:320:1" + "src": "10414:1195:1" }, { "body": { "nodeType": "YulBlock", - "src": "11123:241:1", + "src": "11759:835:1", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "11228:22:1", + "src": "11806:83:1", "statements": [ { "expression": { "arguments": [], "functionName": { - "name": "panic_error_0x41", + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "11230:16:1" + "src": "11808:77:1" }, "nodeType": "YulFunctionCall", - "src": "11230:18:1" + "src": "11808:79:1" }, "nodeType": "YulExpressionStatement", - "src": "11230:18:1" + "src": "11808:79:1" } ] }, "condition": { "arguments": [ { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11200:6:1" + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11780:7:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11789:9:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11776:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11776:23:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11208:18:1", + "src": "11801:3:1", "type": "", - "value": "0xffffffffffffffff" + "value": "128" } ], "functionName": { - "name": "gt", + "name": "slt", "nodeType": "YulIdentifier", - "src": "11197:2:1" + "src": "11772:3:1" }, "nodeType": "YulFunctionCall", - "src": "11197:30:1" + "src": "11772:33:1" }, "nodeType": "YulIf", - "src": "11194:2:1" + "src": "11769:120:1" }, { - "nodeType": "YulAssignment", - "src": "11260:37:1", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11290:6:1" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "11268:21:1" - }, - "nodeType": "YulFunctionCall", - "src": "11268:29:1" - }, - "variableNames": [ + "nodeType": "YulBlock", + "src": "11899:117:1", + "statements": [ { - "name": "size", - "nodeType": "YulIdentifier", - "src": "11260:4:1" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11334:23:1", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "11346:4:1" - }, - { + "nodeType": "YulVariableDeclaration", + "src": "11914:15:1", + "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "11352:4:1", + "src": "11928:1:1", "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11342:3:1" + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11918:6:1", + "type": "" + } + ] }, - "nodeType": "YulFunctionCall", - "src": "11342:15:1" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "11334:4:1" - } - ] - } - ] - }, - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11107:6:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "11118:4:1", - "type": "" - } - ], - "src": "11057:307:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11451:60:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11461:11:1", - "value": { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "11469:3:1" - }, - "variableNames": [ { - "name": "data", - "nodeType": "YulIdentifier", - "src": "11461:4:1" + "nodeType": "YulAssignment", + "src": "11943:63:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11978:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11989:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11974:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "11974:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11998:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "11953:20:1" + }, + "nodeType": "YulFunctionCall", + "src": "11953:53:1" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11943:6:1" + } + ] } ] }, { - "nodeType": "YulAssignment", - "src": "11482:22:1", - "value": { - "arguments": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "11494:3:1" - }, - { + "nodeType": "YulBlock", + "src": "12026:118:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12041:16:1", + "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "11499:4:1", + "src": "12055:2:1", "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11490:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "11490:14:1" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "11482:4:1" - } + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12045:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12071:63:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12106:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12117:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12102:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12102:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12126:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "12081:20:1" + }, + "nodeType": "YulFunctionCall", + "src": "12081:53:1" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12071:6:1" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12154:306:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12169:46:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12200:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12211:2:1", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12196:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12196:18:1" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12183:12:1" + }, + "nodeType": "YulFunctionCall", + "src": "12183:32:1" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12173:6:1", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12262:83:1", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "12264:77:1" + }, + "nodeType": "YulFunctionCall", + "src": "12264:79:1" + }, + "nodeType": "YulExpressionStatement", + "src": "12264:79:1" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12234:6:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12242:18:1", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12231:2:1" + }, + "nodeType": "YulFunctionCall", + "src": "12231:30:1" + }, + "nodeType": "YulIf", + "src": "12228:117:1" + }, + { + "nodeType": "YulAssignment", + "src": "12359:91:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12422:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12433:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12418:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12418:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12442:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_struct$_Multilocation_$8_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12369:48:1" + }, + "nodeType": "YulFunctionCall", + "src": "12369:81:1" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12359:6:1" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12470:117:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12485:16:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12499:2:1", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12489:6:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12515:62:1", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12549:9:1" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12560:6:1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12545:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "12545:22:1" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12569:7:1" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "12525:19:1" + }, + "nodeType": "YulFunctionCall", + "src": "12525:52:1" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12515:6:1" + } + ] + } ] } ] }, - "name": "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "abi_decode_tuple_t_addresst_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "ptr", + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11705:9:1", + "type": "" + }, + { + "name": "dataEnd", "nodeType": "YulTypedName", - "src": "11438:3:1", + "src": "11716:7:1", "type": "" } ], "returnVariables": [ { - "name": "data", + "name": "value0", "nodeType": "YulTypedName", - "src": "11446:4:1", + "src": "11728:6:1", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11736:6:1", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "11744:6:1", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "11752:6:1", "type": "" } ], - "src": "11370:141:1" + "src": "11615:979:1" }, { "body": { "nodeType": "YulBlock", - "src": "11600:40:1", + "src": "12651:51:1", "statements": [ { - "nodeType": "YulAssignment", - "src": "11611:22:1", - "value": { + "expression": { "arguments": [ { - "name": "value", + "name": "pos", "nodeType": "YulIdentifier", - "src": "11627:5:1" + "src": "12668:3:1" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12689:5:1" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "12673:15:1" + }, + "nodeType": "YulFunctionCall", + "src": "12673:22:1" } ], "functionName": { - "name": "mload", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "11621:5:1" + "src": "12661:6:1" }, "nodeType": "YulFunctionCall", - "src": "11621:12:1" + "src": "12661:35:1" }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11611:6:1" - } - ] + "nodeType": "YulExpressionStatement", + "src": "12661:35:1" } ] }, - "name": "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "name": "abi_encode_t_uint8_to_t_uint8", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "11583:5:1", + "src": "12639:5:1", "type": "" - } - ], - "returnVariables": [ + }, { - "name": "length", + "name": "pos", "nodeType": "YulTypedName", - "src": "11593:6:1", + "src": "12646:3:1", "type": "" } ], - "src": "11517:123:1" + "src": "12600:102:1" }, { "body": { "nodeType": "YulBlock", - "src": "11704:40:1", + "src": "12791:40:1", "statements": [ { "nodeType": "YulAssignment", - "src": "11715:22:1", + "src": "12802:22:1", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "11731:5:1" + "src": "12818:5:1" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "11725:5:1" + "src": "12812:5:1" }, "nodeType": "YulFunctionCall", - "src": "11725:12:1" + "src": "12812:12:1" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "11715:6:1" + "src": "12802:6:1" } ] } ] }, - "name": "array_length_t_bytes_memory_ptr", + "name": "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "11687:5:1", + "src": "12774:5:1", "type": "" } ], @@ -6111,77 +7016,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "11697:6:1", - "type": "" - } - ], - "src": "11646:98:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11834:38:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11844:22:1", - "value": { - "arguments": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "11856:3:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11861:4:1", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11852:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "11852:14:1" - }, - "variableNames": [ - { - "name": "next", - "nodeType": "YulIdentifier", - "src": "11844:4:1" - } - ] - } - ] - }, - "name": "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "11821:3:1", + "src": "12784:6:1", "type": "" } ], - "returnVariables": [ - { - "name": "next", - "nodeType": "YulTypedName", - "src": "11829:4:1", - "type": "" - } - ], - "src": "11750:122:1" + "src": "12708:123:1" }, { "body": { "nodeType": "YulBlock", - "src": "11988:73:1", + "src": "12947:73:1", "statements": [ { "expression": { @@ -6189,39 +7033,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12005:3:1" + "src": "12964:3:1" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "12010:6:1" + "src": "12969:6:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11998:6:1" + "src": "12957:6:1" }, "nodeType": "YulFunctionCall", - "src": "11998:19:1" + "src": "12957:19:1" }, "nodeType": "YulExpressionStatement", - "src": "11998:19:1" + "src": "12957:19:1" }, { "nodeType": "YulAssignment", - "src": "12026:29:1", + "src": "12985:29:1", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12045:3:1" + "src": "13004:3:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12050:4:1", + "src": "13009:4:1", "type": "", "value": "0x20" } @@ -6229,16 +7073,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12041:3:1" + "src": "13000:3:1" }, "nodeType": "YulFunctionCall", - "src": "12041:14:1" + "src": "13000:14:1" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "12026:11:1" + "src": "12985:11:1" } ] } @@ -6250,13 +7094,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "11960:3:1", + "src": "12919:3:1", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "11965:6:1", + "src": "12924:6:1", "type": "" } ], @@ -6264,56 +7108,47 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "11976:11:1", + "src": "12935:11:1", "type": "" } ], - "src": "11878:183:1" + "src": "12837:183:1" }, { "body": { "nodeType": "YulBlock", - "src": "12152:73:1", + "src": "13107:60:1", "statements": [ { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12169:3:1" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12174:6:1" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12162:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "12162:19:1" + "nodeType": "YulAssignment", + "src": "13117:11:1", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "13125:3:1" }, - "nodeType": "YulExpressionStatement", - "src": "12162:19:1" + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "13117:4:1" + } + ] }, { "nodeType": "YulAssignment", - "src": "12190:29:1", + "src": "13138:22:1", "value": { "arguments": [ { - "name": "pos", + "name": "ptr", "nodeType": "YulIdentifier", - "src": "12209:3:1" + "src": "13150:3:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12214:4:1", + "src": "13155:4:1", "type": "", "value": "0x20" } @@ -6321,551 +7156,199 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12205:3:1" + "src": "13146:3:1" }, "nodeType": "YulFunctionCall", - "src": "12205:14:1" + "src": "13146:14:1" }, "variableNames": [ { - "name": "updated_pos", + "name": "data", "nodeType": "YulIdentifier", - "src": "12190:11:1" + "src": "13138:4:1" } ] } ] }, - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "name": "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "pos", - "nodeType": "YulTypedName", - "src": "12124:3:1", - "type": "" - }, - { - "name": "length", + "name": "ptr", "nodeType": "YulTypedName", - "src": "12129:6:1", + "src": "13094:3:1", "type": "" } ], "returnVariables": [ { - "name": "updated_pos", + "name": "data", "nodeType": "YulTypedName", - "src": "12140:11:1", + "src": "13102:4:1", "type": "" } ], - "src": "12067:158:1" + "src": "13026:141:1" }, { "body": { "nodeType": "YulBlock", - "src": "12276:51:1", + "src": "13231:40:1", "statements": [ { "nodeType": "YulAssignment", - "src": "12286:35:1", + "src": "13242:22:1", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "12315:5:1" + "src": "13258:5:1" } ], "functionName": { - "name": "cleanup_t_uint160", + "name": "mload", "nodeType": "YulIdentifier", - "src": "12297:17:1" + "src": "13252:5:1" }, "nodeType": "YulFunctionCall", - "src": "12297:24:1" + "src": "13252:12:1" }, "variableNames": [ { - "name": "cleaned", + "name": "length", "nodeType": "YulIdentifier", - "src": "12286:7:1" + "src": "13242:6:1" } ] } ] }, - "name": "cleanup_t_address", + "name": "array_length_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "12258:5:1", + "src": "13214:5:1", "type": "" } ], "returnVariables": [ { - "name": "cleaned", + "name": "length", "nodeType": "YulTypedName", - "src": "12268:7:1", + "src": "13224:6:1", "type": "" } ], - "src": "12231:96:1" + "src": "13173:98:1" }, { "body": { "nodeType": "YulBlock", - "src": "12378:81:1", + "src": "13362:73:1", "statements": [ { - "nodeType": "YulAssignment", - "src": "12388:65:1", - "value": { + "expression": { "arguments": [ { - "name": "value", + "name": "pos", "nodeType": "YulIdentifier", - "src": "12403:5:1" + "src": "13379:3:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12410:42:1", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" + "name": "length", + "nodeType": "YulIdentifier", + "src": "13384:6:1" } ], "functionName": { - "name": "and", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "12399:3:1" + "src": "13372:6:1" }, "nodeType": "YulFunctionCall", - "src": "12399:54:1" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "12388:7:1" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "12360:5:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "12370:7:1", - "type": "" - } - ], - "src": "12333:126:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12510:32:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12520:16:1", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12531:5:1" + "src": "13372:19:1" }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "12520:7:1" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "12492:5:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "12502:7:1", - "type": "" - } - ], - "src": "12465:77:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12592:57:1", - "statements": [ + "nodeType": "YulExpressionStatement", + "src": "13372:19:1" + }, { "nodeType": "YulAssignment", - "src": "12602:41:1", + "src": "13400:29:1", "value": { "arguments": [ { - "name": "value", + "name": "pos", "nodeType": "YulIdentifier", - "src": "12617:5:1" + "src": "13419:3:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12624:18:1", + "src": "13424:4:1", "type": "", - "value": "0xffffffffffffffff" + "value": "0x20" } ], "functionName": { - "name": "and", + "name": "add", "nodeType": "YulIdentifier", - "src": "12613:3:1" + "src": "13415:3:1" }, "nodeType": "YulFunctionCall", - "src": "12613:30:1" + "src": "13415:14:1" }, "variableNames": [ { - "name": "cleaned", + "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "12602:7:1" + "src": "13400:11:1" } ] } ] }, - "name": "cleanup_t_uint64", + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", + "name": "pos", + "nodeType": "YulTypedName", + "src": "13334:3:1", + "type": "" + }, + { + "name": "length", "nodeType": "YulTypedName", - "src": "12574:5:1", + "src": "13339:6:1", "type": "" } ], "returnVariables": [ { - "name": "cleaned", + "name": "updated_pos", "nodeType": "YulTypedName", - "src": "12584:7:1", + "src": "13350:11:1", "type": "" } ], - "src": "12548:101:1" + "src": "13277:158:1" }, { "body": { "nodeType": "YulBlock", - "src": "12698:43:1", + "src": "13490:258:1", "statements": [ { - "nodeType": "YulAssignment", - "src": "12708:27:1", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12723:5:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12730:4:1", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12719:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "12719:16:1" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "12708:7:1" - } - ] - } - ] - }, - "name": "cleanup_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "12680:5:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "12690:7:1", - "type": "" - } - ], - "src": "12655:86:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12821:80:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12831:64:1", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12889:5:1" - } - ], - "functionName": { - "name": "convert_t_contract$_Xtokens_$36_to_t_uint160", - "nodeType": "YulIdentifier", - "src": "12844:44:1" - }, - "nodeType": "YulFunctionCall", - "src": "12844:51:1" - }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "12831:9:1" - } - ] - } - ] - }, - "name": "convert_t_contract$_Xtokens_$36_to_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "12801:5:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "12811:9:1", - "type": "" - } - ], - "src": "12747:154:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12981:53:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12991:37:1", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13022:5:1" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "13004:17:1" - }, - "nodeType": "YulFunctionCall", - "src": "13004:24:1" - }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "12991:9:1" - } - ] - } - ] - }, - "name": "convert_t_contract$_Xtokens_$36_to_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "12961:5:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "12971:9:1", - "type": "" - } - ], - "src": "12907:127:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13091:103:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "13114:3:1" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "13119:3:1" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13124:6:1" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "13101:12:1" - }, - "nodeType": "YulFunctionCall", - "src": "13101:30:1" - }, - "nodeType": "YulExpressionStatement", - "src": "13101:30:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "13172:3:1" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13177:6:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13168:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "13168:16:1" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13186:1:1", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13161:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "13161:27:1" - }, - "nodeType": "YulExpressionStatement", - "src": "13161:27:1" - } - ] - }, - "name": "copy_calldata_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "13073:3:1", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "13078:3:1", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "13083:6:1", - "type": "" - } - ], - "src": "13040:154:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13249:258:1", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13259:10:1", + "nodeType": "YulVariableDeclaration", + "src": "13500:10:1", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "13268:1:1", + "src": "13509:1:1", "type": "", "value": "0" }, @@ -6873,7 +7356,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "13263:1:1", + "src": "13504:1:1", "type": "" } ] @@ -6881,7 +7364,7 @@ { "body": { "nodeType": "YulBlock", - "src": "13328:63:1", + "src": "13569:63:1", "statements": [ { "expression": { @@ -6891,21 +7374,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "13353:3:1" + "src": "13594:3:1" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "13358:1:1" + "src": "13599:1:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13349:3:1" + "src": "13590:3:1" }, "nodeType": "YulFunctionCall", - "src": "13349:11:1" + "src": "13590:11:1" }, { "arguments": [ @@ -6914,42 +7397,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "13372:3:1" + "src": "13613:3:1" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "13377:1:1" + "src": "13618:1:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13368:3:1" + "src": "13609:3:1" }, "nodeType": "YulFunctionCall", - "src": "13368:11:1" + "src": "13609:11:1" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "13362:5:1" + "src": "13603:5:1" }, "nodeType": "YulFunctionCall", - "src": "13362:18:1" + "src": "13603:18:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13342:6:1" + "src": "13583:6:1" }, "nodeType": "YulFunctionCall", - "src": "13342:39:1" + "src": "13583:39:1" }, "nodeType": "YulExpressionStatement", - "src": "13342:39:1" + "src": "13583:39:1" } ] }, @@ -6958,41 +7441,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "13289:1:1" + "src": "13530:1:1" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "13292:6:1" + "src": "13533:6:1" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "13286:2:1" + "src": "13527:2:1" }, "nodeType": "YulFunctionCall", - "src": "13286:13:1" + "src": "13527:13:1" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "13300:19:1", + "src": "13541:19:1", "statements": [ { "nodeType": "YulAssignment", - "src": "13302:15:1", + "src": "13543:15:1", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "13311:1:1" + "src": "13552:1:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13314:2:1", + "src": "13555:2:1", "type": "", "value": "32" } @@ -7000,16 +7483,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13307:3:1" + "src": "13548:3:1" }, "nodeType": "YulFunctionCall", - "src": "13307:10:1" + "src": "13548:10:1" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "13302:1:1" + "src": "13543:1:1" } ] } @@ -7017,15 +7500,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "13282:3:1", + "src": "13523:3:1", "statements": [] }, - "src": "13278:113:1" + "src": "13519:113:1" }, { "body": { "nodeType": "YulBlock", - "src": "13425:76:1", + "src": "13666:76:1", "statements": [ { "expression": { @@ -7035,26 +7518,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "13475:3:1" + "src": "13716:3:1" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "13480:6:1" + "src": "13721:6:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13471:3:1" + "src": "13712:3:1" }, "nodeType": "YulFunctionCall", - "src": "13471:16:1" + "src": "13712:16:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13489:1:1", + "src": "13730:1:1", "type": "", "value": "0" } @@ -7062,13 +7545,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13464:6:1" + "src": "13705:6:1" }, "nodeType": "YulFunctionCall", - "src": "13464:27:1" + "src": "13705:27:1" }, "nodeType": "YulExpressionStatement", - "src": "13464:27:1" + "src": "13705:27:1" } ] }, @@ -7077,24 +7560,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "13406:1:1" + "src": "13647:1:1" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "13409:6:1" + "src": "13650:6:1" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "13403:2:1" + "src": "13644:2:1" }, "nodeType": "YulFunctionCall", - "src": "13403:13:1" + "src": "13644:13:1" }, "nodeType": "YulIf", - "src": "13400:2:1" + "src": "13641:101:1" } ] }, @@ -7104,7283 +7587,11140 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "13231:3:1", + "src": "13472:3:1", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "13236:3:1", + "src": "13477:3:1", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "13241:6:1", + "src": "13482:6:1", "type": "" } ], - "src": "13200:307:1" + "src": "13441:307:1" }, { "body": { "nodeType": "YulBlock", - "src": "13556:238:1", + "src": "13834:260:1", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "13566:58:1", + "src": "13844:52:1", "value": { "arguments": [ { - "name": "memPtr", + "name": "value", "nodeType": "YulIdentifier", - "src": "13588:6:1" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "13618:4:1" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "13596:21:1" - }, - "nodeType": "YulFunctionCall", - "src": "13596:27:1" + "src": "13890:5:1" } ], "functionName": { - "name": "add", + "name": "array_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "13584:3:1" + "src": "13858:31:1" }, "nodeType": "YulFunctionCall", - "src": "13584:40:1" + "src": "13858:38:1" }, "variables": [ { - "name": "newFreePtr", + "name": "length", "nodeType": "YulTypedName", - "src": "13570:10:1", + "src": "13848:6:1", "type": "" } ] }, { - "body": { - "nodeType": "YulBlock", - "src": "13735:22:1", - "statements": [ + "nodeType": "YulAssignment", + "src": "13905:67:1", + "value": { + "arguments": [ { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "13737:16:1" - }, - "nodeType": "YulFunctionCall", - "src": "13737:18:1" - }, - "nodeType": "YulExpressionStatement", - "src": "13737:18:1" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13960:3:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13965:6:1" } - ] + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13912:47:1" + }, + "nodeType": "YulFunctionCall", + "src": "13912:60:1" }, - "condition": { - "arguments": [ - { + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13905:3:1" + } + ] + }, + { + "expression": { + "arguments": [ + { "arguments": [ { - "name": "newFreePtr", + "name": "value", "nodeType": "YulIdentifier", - "src": "13678:10:1" + "src": "14007:5:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13690:18:1", + "src": "14014:4:1", "type": "", - "value": "0xffffffffffffffff" + "value": "0x20" } ], "functionName": { - "name": "gt", + "name": "add", "nodeType": "YulIdentifier", - "src": "13675:2:1" + "src": "14003:3:1" }, "nodeType": "YulFunctionCall", - "src": "13675:34:1" + "src": "14003:16:1" }, { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "13714:10:1" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "13726:6:1" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "13711:2:1" - }, - "nodeType": "YulFunctionCall", - "src": "13711:22:1" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14021:3:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14026:6:1" } ], "functionName": { - "name": "or", + "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "13672:2:1" + "src": "13981:21:1" }, "nodeType": "YulFunctionCall", - "src": "13672:62:1" + "src": "13981:52:1" }, - "nodeType": "YulIf", - "src": "13669:2:1" + "nodeType": "YulExpressionStatement", + "src": "13981:52:1" }, { - "expression": { + "nodeType": "YulAssignment", + "src": "14042:46:1", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13773:2:1", - "type": "", - "value": "64" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14053:3:1" }, { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "13777:10:1" + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14080:6:1" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "14058:21:1" + }, + "nodeType": "YulFunctionCall", + "src": "14058:29:1" } ], "functionName": { - "name": "mstore", + "name": "add", "nodeType": "YulIdentifier", - "src": "13766:6:1" + "src": "14049:3:1" }, "nodeType": "YulFunctionCall", - "src": "13766:22:1" + "src": "14049:39:1" }, - "nodeType": "YulExpressionStatement", - "src": "13766:22:1" + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14042:3:1" + } + ] } ] }, - "name": "finalize_allocation", + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "memPtr", + "name": "value", "nodeType": "YulTypedName", - "src": "13542:6:1", + "src": "13815:5:1", "type": "" }, { - "name": "size", + "name": "pos", + "nodeType": "YulTypedName", + "src": "13822:3:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", "nodeType": "YulTypedName", - "src": "13550:4:1", + "src": "13830:3:1", "type": "" } ], - "src": "13513:281:1" + "src": "13754:340:1" }, { "body": { "nodeType": "YulBlock", - "src": "13828:152:1", + "src": "14198:94:1", "statements": [ { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13845:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13848:77:1", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13838:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "13838:88:1" - }, - "nodeType": "YulExpressionStatement", - "src": "13838:88:1" - }, - { - "expression": { + "nodeType": "YulAssignment", + "src": "14208:78:1", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13942:1:1", - "type": "", - "value": "4" + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14274:6:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13945:4:1", - "type": "", - "value": "0x41" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14282:3:1" } ], "functionName": { - "name": "mstore", + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "13935:6:1" + "src": "14222:51:1" }, "nodeType": "YulFunctionCall", - "src": "13935:15:1" + "src": "14222:64:1" }, - "nodeType": "YulExpressionStatement", - "src": "13935:15:1" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13966:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13969:4:1", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", + "variableNames": [ + { + "name": "updatedPos", "nodeType": "YulIdentifier", - "src": "13959:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "13959:15:1" - }, - "nodeType": "YulExpressionStatement", - "src": "13959:15:1" + "src": "14208:10:1" + } + ] } ] }, - "name": "panic_error_0x41", + "name": "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr", "nodeType": "YulFunctionDefinition", - "src": "13800:180:1" + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14171:6:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14179:3:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "14187:10:1", + "type": "" + } + ], + "src": "14100:192:1" }, { "body": { "nodeType": "YulBlock", - "src": "14075:28:1", + "src": "14382:38:1", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "14392:22:1", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14092:1:1", - "type": "", - "value": "0" + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "14404:3:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14095:1:1", + "src": "14409:4:1", "type": "", - "value": "0" + "value": "0x20" } ], "functionName": { - "name": "revert", + "name": "add", "nodeType": "YulIdentifier", - "src": "14085:6:1" + "src": "14400:3:1" }, "nodeType": "YulFunctionCall", - "src": "14085:12:1" + "src": "14400:14:1" }, - "nodeType": "YulExpressionStatement", - "src": "14085:12:1" + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "14392:4:1" + } + ] } ] }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "name": "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", - "src": "13986:117:1" + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "14369:3:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "14377:4:1", + "type": "" + } + ], + "src": "14298:122:1" }, { "body": { "nodeType": "YulBlock", - "src": "14198:28:1", + "src": "14584:831:1", "statements": [ { - "expression": { + "nodeType": "YulVariableDeclaration", + "src": "14594:77:1", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14215:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14218:1:1", - "type": "", - "value": "0" + "name": "value", + "nodeType": "YulIdentifier", + "src": "14665:5:1" } ], "functionName": { - "name": "revert", + "name": "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulIdentifier", - "src": "14208:6:1" + "src": "14608:56:1" }, "nodeType": "YulFunctionCall", - "src": "14208:12:1" + "src": "14608:63:1" }, - "nodeType": "YulExpressionStatement", - "src": "14208:12:1" - } - ] - }, - "name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f", - "nodeType": "YulFunctionDefinition", - "src": "14109:117:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14321:28:1", - "statements": [ + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14598:6:1", + "type": "" + } + ] + }, { - "expression": { + "nodeType": "YulAssignment", + "src": "14680:92:1", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14338:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14341:1:1", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14331:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "14331:12:1" - }, - "nodeType": "YulExpressionStatement", - "src": "14331:12:1" - } - ] - }, - "name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421", - "nodeType": "YulFunctionDefinition", - "src": "14232:117:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14444:28:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14461:1:1", - "type": "", - "value": "0" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14760:3:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14464:1:1", - "type": "", - "value": "0" + "name": "length", + "nodeType": "YulIdentifier", + "src": "14765:6:1" } ], "functionName": { - "name": "revert", + "name": "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulIdentifier", - "src": "14454:6:1" + "src": "14687:72:1" }, "nodeType": "YulFunctionCall", - "src": "14454:12:1" + "src": "14687:85:1" }, - "nodeType": "YulExpressionStatement", - "src": "14454:12:1" - } - ] - }, - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nodeType": "YulFunctionDefinition", - "src": "14355:117:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14567:28:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14584:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14587:1:1", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", + "variableNames": [ + { + "name": "pos", "nodeType": "YulIdentifier", - "src": "14577:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "14577:12:1" - }, - "nodeType": "YulExpressionStatement", - "src": "14577:12:1" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulFunctionDefinition", - "src": "14478:117:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14690:28:1", - "statements": [ + "src": "14680:3:1" + } + ] + }, { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14707:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14710:1:1", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14700:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "14700:12:1" + "nodeType": "YulVariableDeclaration", + "src": "14781:20:1", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14798:3:1" }, - "nodeType": "YulExpressionStatement", - "src": "14700:12:1" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulFunctionDefinition", - "src": "14601:117:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14813:28:1", - "statements": [ + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14785:9:1", + "type": "" + } + ] + }, { - "expression": { + "nodeType": "YulVariableDeclaration", + "src": "14810:39:1", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14830:1:1", - "type": "", - "value": "0" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14826:3:1" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14833:1:1", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14823:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "14823:12:1" - }, - "nodeType": "YulExpressionStatement", - "src": "14823:12:1" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulFunctionDefinition", - "src": "14724:117:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14895:54:1", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14905:38:1", - "value": { - "arguments": [ { "arguments": [ { - "name": "value", + "name": "length", "nodeType": "YulIdentifier", - "src": "14923:5:1" + "src": "14835:6:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14930:2:1", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14919:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "14919:14:1" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14939:2:1", + "src": "14843:4:1", "type": "", - "value": "31" + "value": "0x20" } ], "functionName": { - "name": "not", + "name": "mul", "nodeType": "YulIdentifier", - "src": "14935:3:1" + "src": "14831:3:1" }, "nodeType": "YulFunctionCall", - "src": "14935:7:1" + "src": "14831:17:1" } ], "functionName": { - "name": "and", + "name": "add", "nodeType": "YulIdentifier", - "src": "14915:3:1" + "src": "14822:3:1" }, "nodeType": "YulFunctionCall", - "src": "14915:28:1" + "src": "14822:27:1" }, - "variableNames": [ + "variables": [ { - "name": "result", - "nodeType": "YulIdentifier", - "src": "14905:6:1" + "name": "tail", + "nodeType": "YulTypedName", + "src": "14814:4:1", + "type": "" } ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "14878:5:1", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "14888:6:1", - "type": "" - } - ], - "src": "14847:102:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14998:79:1", - "statements": [ + }, { - "body": { - "nodeType": "YulBlock", - "src": "15055:16:1", - "statements": [ + "nodeType": "YulVariableDeclaration", + "src": "14858:80:1", + "value": { + "arguments": [ { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15064:1:1", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15067:1:1", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15057:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "15057:12:1" - }, - "nodeType": "YulExpressionStatement", - "src": "15057:12:1" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15021:5:1" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15046:5:1" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "15028:17:1" - }, - "nodeType": "YulFunctionCall", - "src": "15028:24:1" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "15018:2:1" - }, - "nodeType": "YulFunctionCall", - "src": "15018:35:1" + "name": "value", + "nodeType": "YulIdentifier", + "src": "14932:5:1" } ], "functionName": { - "name": "iszero", + "name": "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "nodeType": "YulIdentifier", - "src": "15011:6:1" + "src": "14873:58:1" }, "nodeType": "YulFunctionCall", - "src": "15011:43:1" + "src": "14873:65:1" }, - "nodeType": "YulIf", - "src": "15008:2:1" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "14991:5:1", - "type": "" - } - ], - "src": "14955:122:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15126:79:1", - "statements": [ + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "14862:7:1", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14947:21:1", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "14961:7:1" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "14951:6:1", + "type": "" + } + ] + }, { "body": { "nodeType": "YulBlock", - "src": "15183:16:1", + "src": "15037:333:1", "statements": [ { "expression": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15192:1:1", - "type": "", - "value": "0" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15058:3:1" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15195:1:1", - "type": "", - "value": "0" + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15067:4:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15073:9:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15063:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15063:20:1" } ], "functionName": { - "name": "revert", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "15185:6:1" + "src": "15051:6:1" }, "nodeType": "YulFunctionCall", - "src": "15185:12:1" + "src": "15051:33:1" }, "nodeType": "YulExpressionStatement", - "src": "15185:12:1" - } - ] - }, - "condition": { - "arguments": [ + "src": "15051:33:1" + }, { - "arguments": [ - { - "name": "value", + "nodeType": "YulVariableDeclaration", + "src": "15097:34:1", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "15124:6:1" + } + ], + "functionName": { + "name": "mload", "nodeType": "YulIdentifier", - "src": "15149:5:1" + "src": "15118:5:1" }, + "nodeType": "YulFunctionCall", + "src": "15118:13:1" + }, + "variables": [ { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15174:5:1" - } - ], - "functionName": { - "name": "cleanup_t_uint256", + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "15101:13:1", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15144:90:1", + "value": { + "arguments": [ + { + "name": "elementValue0", "nodeType": "YulIdentifier", - "src": "15156:17:1" + "src": "15214:13:1" }, - "nodeType": "YulFunctionCall", - "src": "15156:24:1" + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15229:4:1" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "15152:61:1" + }, + "nodeType": "YulFunctionCall", + "src": "15152:82:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15144:4:1" } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "15146:2:1" + ] + }, + { + "nodeType": "YulAssignment", + "src": "15247:79:1", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "15319:6:1" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "15257:61:1" + }, + "nodeType": "YulFunctionCall", + "src": "15257:69:1" }, - "nodeType": "YulFunctionCall", - "src": "15146:35:1" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "15139:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "15139:43:1" - }, - "nodeType": "YulIf", - "src": "15136:2:1" - } - ] - }, - "name": "validator_revert_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "15119:5:1", - "type": "" - } - ], - "src": "15083:122:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15253:78:1", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "15309:16:1", - "statements": [ + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "15247:6:1" + } + ] + }, { - "expression": { + "nodeType": "YulAssignment", + "src": "15339:21:1", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15318:1:1", - "type": "", - "value": "0" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15350:3:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15321:1:1", + "src": "15355:4:1", "type": "", - "value": "0" + "value": "0x20" } ], "functionName": { - "name": "revert", + "name": "add", "nodeType": "YulIdentifier", - "src": "15311:6:1" + "src": "15346:3:1" }, "nodeType": "YulFunctionCall", - "src": "15311:12:1" + "src": "15346:14:1" }, - "nodeType": "YulExpressionStatement", - "src": "15311:12:1" + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15339:3:1" + } + ] } ] }, "condition": { "arguments": [ { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15276:5:1" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15300:5:1" - } - ], - "functionName": { - "name": "cleanup_t_uint64", - "nodeType": "YulIdentifier", - "src": "15283:16:1" - }, - "nodeType": "YulFunctionCall", - "src": "15283:23:1" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "15273:2:1" - }, - "nodeType": "YulFunctionCall", - "src": "15273:34:1" + "name": "i", + "nodeType": "YulIdentifier", + "src": "14999:1:1" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15002:6:1" } ], "functionName": { - "name": "iszero", + "name": "lt", "nodeType": "YulIdentifier", - "src": "15266:6:1" + "src": "14996:2:1" }, "nodeType": "YulFunctionCall", - "src": "15266:42:1" + "src": "14996:13:1" }, - "nodeType": "YulIf", - "src": "15263:2:1" - } - ] - }, - "name": "validator_revert_t_uint64", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "15246:5:1", - "type": "" - } - ], - "src": "15211:120:1" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15378:77:1", - "statements": [ - { - "body": { + "nodeType": "YulForLoop", + "post": { "nodeType": "YulBlock", - "src": "15433:16:1", + "src": "15010:18:1", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "15012:14:1", + "value": { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15442:1:1", - "type": "", - "value": "0" + "name": "i", + "nodeType": "YulIdentifier", + "src": "15021:1:1" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15445:1:1", + "src": "15024:1:1", "type": "", - "value": "0" + "value": "1" } ], "functionName": { - "name": "revert", + "name": "add", "nodeType": "YulIdentifier", - "src": "15435:6:1" + "src": "15017:3:1" }, "nodeType": "YulFunctionCall", - "src": "15435:12:1" + "src": "15017:9:1" }, - "nodeType": "YulExpressionStatement", - "src": "15435:12:1" + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "15012:1:1" + } + ] } ] }, - "condition": { + "pre": { + "nodeType": "YulBlock", + "src": "14981:14:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14983:10:1", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14992:1:1", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "14987:1:1", + "type": "" + } + ] + } + ] + }, + "src": "14977:393:1" + }, + { + "nodeType": "YulAssignment", + "src": "15379:11:1", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15386:4:1" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15379:3:1" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15399:10:1", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15406:3:1" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15399:3:1" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14563:5:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14570:3:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14579:3:1", + "type": "" + } + ], + "src": "14452:963:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15619:533:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15629:26:1", + "value": { "arguments": [ { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15645:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15650:4:1", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15641:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15641:14:1" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15633:4:1", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15665:163:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15703:43:1", + "value": { "arguments": [ { - "name": "value", + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15733:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15740:4:1", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15729:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15729:16:1" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15723:5:1" + }, + "nodeType": "YulFunctionCall", + "src": "15723:23:1" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "15707:12:1", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", "nodeType": "YulIdentifier", - "src": "15401:5:1" + "src": "15789:12:1" }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15807:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15812:4:1", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15803:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15803:14:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "15759:29:1" + }, + "nodeType": "YulFunctionCall", + "src": "15759:59:1" + }, + "nodeType": "YulExpressionStatement", + "src": "15759:59:1" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15838:287:1", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15877:43:1", + "value": { + "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "15424:5:1" + "src": "15907:5:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15914:4:1", + "type": "", + "value": "0x20" } ], "functionName": { - "name": "cleanup_t_uint8", + "name": "add", "nodeType": "YulIdentifier", - "src": "15408:15:1" + "src": "15903:3:1" }, "nodeType": "YulFunctionCall", - "src": "15408:22:1" + "src": "15903:16:1" } ], "functionName": { - "name": "eq", + "name": "mload", "nodeType": "YulIdentifier", - "src": "15398:2:1" + "src": "15897:5:1" }, "nodeType": "YulFunctionCall", - "src": "15398:33:1" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "15391:6:1" - }, + "src": "15897:23:1" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "15881:12:1", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15945:3:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15950:4:1", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15941:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15941:14:1" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15961:4:1" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15967:3:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15957:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "15957:14:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15934:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "15934:38:1" + }, + "nodeType": "YulExpressionStatement", + "src": "15934:38:1" + }, + { + "nodeType": "YulAssignment", + "src": "15985:129:1", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "16095:12:1" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16109:4:1" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "15993:101:1" + }, + "nodeType": "YulFunctionCall", + "src": "15993:121:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15985:4:1" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16135:11:1", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16142:4:1" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16135:3:1" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15598:5:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15605:3:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15614:3:1", + "type": "" + } + ], + "src": "15489:663:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16223:53:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16240:3:1" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16263:5:1" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "16245:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "16245:24:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16233:6:1" + }, "nodeType": "YulFunctionCall", - "src": "15391:41:1" + "src": "16233:37:1" }, - "nodeType": "YulIf", - "src": "15388:2:1" + "nodeType": "YulExpressionStatement", + "src": "16233:37:1" } ] }, - "name": "validator_revert_t_uint8", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "15371:5:1", + "src": "16211:5:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16218:3:1", "type": "" } ], - "src": "15337:118:1" - } - ] - }, - "contents": "{\n\n // bytes[]\n function abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let src := offset\n if gt(add(src, mul(length, 0x20)), end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n\n let innerOffset := calldataload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_bytes_memory_ptr(elementPos, end))\n dst := add(dst, 0x20)\n src := add(src, 0x20)\n }\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n // bytes[]\n function abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n // struct Xtokens.Multilocation\n function abi_decode_t_struct$_Multilocation_$8_memory_ptr(headStart, end) -> value {\n if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n value := allocate_memory(0x40)\n\n {\n // parents\n\n let offset := 0\n\n mstore(add(value, 0x00), abi_decode_t_uint8(add(headStart, offset), end))\n\n }\n\n {\n // interior\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n mstore(add(value, 0x20), abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(headStart, offset), end))\n\n }\n\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_struct$_Multilocation_$8_memory_ptrt_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value0, pos)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // bytes[] -> bytes[]\n function abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value, pos) -> end {\n let length := array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_contract$_Xtokens_$36_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_Xtokens_$36_to_t_address(value))\n }\n\n // struct Xtokens.Multilocation -> struct Xtokens.Multilocation\n function abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x40)\n\n {\n // parents\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x00))\n }\n\n {\n // interior\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint64(value))\n }\n\n function abi_encode_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_contract$_Xtokens_$36__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_Xtokens_$36_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value3, add(headStart, 96))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function convert_t_contract$_Xtokens_$36_to_t_address(value) -> converted {\n converted := convert_t_contract$_Xtokens_$36_to_t_uint160(value)\n }\n\n function convert_t_contract$_Xtokens_$36_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n revert(0, 0)\n }\n\n function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n}\n", - "id": 1, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c8063af3dcee814610046578063b38c60fa14610064578063b9f813ff14610080575b600080fd5b61004e61009c565b60405161005b9190610692565b60405180910390f35b61007e6004803603810190610079919061045d565b6100c0565b005b61009a600480360381019061009591906103da565b610157565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b38c60fa858585856040518563ffffffff1660e01b815260040161011f94939291906106ad565b600060405180830381600087803b15801561013957600080fd5b505af115801561014d573d6000803e3d6000fd5b5050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9f813ff858585856040518563ffffffff1660e01b81526004016101b69493929190610646565b600060405180830381600087803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050505050505050565b60006102016101fc84610725565b610700565b9050808382526020820190508285602086028201111561022457610223610909565b5b60005b8581101561027257813567ffffffffffffffff81111561024a576102496108fa565b5b8086016102578982610301565b85526020850194506020840193505050600181019050610227565b5050509392505050565b600061028f61028a84610751565b610700565b9050828152602081018484840111156102ab576102aa61090e565b5b6102b6848285610858565b509392505050565b6000813590506102cd8161092e565b92915050565b600082601f8301126102e8576102e76108fa565b5b81356102f88482602086016101ee565b91505092915050565b600082601f830112610316576103156108fa565b5b813561032684826020860161027c565b91505092915050565b600060408284031215610345576103446108ff565b5b61034f6040610700565b9050600061035f848285016103c5565b600083015250602082013567ffffffffffffffff81111561038357610382610904565b5b61038f848285016102d3565b60208301525092915050565b6000813590506103aa81610945565b92915050565b6000813590506103bf8161095c565b92915050565b6000813590506103d481610973565b92915050565b600080600080608085870312156103f4576103f3610918565b5b6000610402878288016102be565b94505060206104138782880161039b565b935050604085013567ffffffffffffffff81111561043457610433610913565b5b6104408782880161032f565b9250506060610451878288016103b0565b91505092959194509250565b6000806000806080858703121561047757610476610918565b5b600085013567ffffffffffffffff81111561049557610494610913565b5b6104a18782880161032f565b94505060206104b28782880161039b565b935050604085013567ffffffffffffffff8111156104d3576104d2610913565b5b6104df8782880161032f565b92505060606104f0878288016103b0565b91505092959194509250565b60006105088383610594565b905092915050565b610519816107d7565b82525050565b600061052a82610792565b61053481856107b5565b93508360208202850161054685610782565b8060005b85811015610582578484038952815161056385826104fc565b945061056e836107a8565b925060208a0199505060018101905061054a565b50829750879550505050505092915050565b600061059f8261079d565b6105a981856107c6565b93506105b9818560208601610867565b6105c28161091d565b840191505092915050565b6105d681610834565b82525050565b60006040830160008301516105f46000860182610637565b506020830151848203602086015261060c828261051f565b9150508091505092915050565b61062281610809565b82525050565b61063181610813565b82525050565b61064081610827565b82525050565b600060808201905061065b6000830187610510565b6106686020830186610619565b818103604083015261067a81856105dc565b90506106896060830184610628565b95945050505050565b60006020820190506106a760008301846105cd565b92915050565b600060808201905081810360008301526106c781876105dc565b90506106d66020830186610619565b81810360408301526106e881856105dc565b90506106f76060830184610628565b95945050505050565b600061070a61071b565b9050610716828261089a565b919050565b6000604051905090565b600067ffffffffffffffff8211156107405761073f6108cb565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561076c5761076b6108cb565b5b6107758261091d565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006107e2826107e9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061083f82610846565b9050919050565b6000610851826107e9565b9050919050565b82818337600083830152505050565b60005b8381101561088557808201518184015260208101905061086a565b83811115610894576000848401525b50505050565b6108a38261091d565b810181811067ffffffffffffffff821117156108c2576108c16108cb565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610937816107d7565b811461094257600080fd5b50565b61094e81610809565b811461095957600080fd5b50565b61096581610813565b811461097057600080fd5b50565b61097c81610827565b811461098757600080fd5b5056fea2646970667358221220575d5f70ce7c46f061274cb948a465f99735e8b3fb5cd407fd2e79a17e0e62d364736f6c63430008060033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAF3DCEE8 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xB38C60FA EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xB9F813FF EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x692 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x45D JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x3DA JUMP JUMPDEST PUSH2 0x157 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB38C60FA DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x6AD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x139 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB9F813FF DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x646 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201 PUSH2 0x1FC DUP5 PUSH2 0x725 JUMP JUMPDEST PUSH2 0x700 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP DUP3 DUP6 PUSH1 0x20 DUP7 MUL DUP3 ADD GT ISZERO PUSH2 0x224 JUMPI PUSH2 0x223 PUSH2 0x909 JUMP JUMPDEST JUMPDEST PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x272 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x24A JUMPI PUSH2 0x249 PUSH2 0x8FA JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x257 DUP10 DUP3 PUSH2 0x301 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x227 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F PUSH2 0x28A DUP5 PUSH2 0x751 JUMP JUMPDEST PUSH2 0x700 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2AB JUMPI PUSH2 0x2AA PUSH2 0x90E JUMP JUMPDEST JUMPDEST PUSH2 0x2B6 DUP5 DUP3 DUP6 PUSH2 0x858 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2CD DUP2 PUSH2 0x92E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2E8 JUMPI PUSH2 0x2E7 PUSH2 0x8FA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2F8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1EE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x316 JUMPI PUSH2 0x315 PUSH2 0x8FA JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x326 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x27C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x345 JUMPI PUSH2 0x344 PUSH2 0x8FF JUMP JUMPDEST JUMPDEST PUSH2 0x34F PUSH1 0x40 PUSH2 0x700 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x35F DUP5 DUP3 DUP6 ADD PUSH2 0x3C5 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x383 JUMPI PUSH2 0x382 PUSH2 0x904 JUMP JUMPDEST JUMPDEST PUSH2 0x38F DUP5 DUP3 DUP6 ADD PUSH2 0x2D3 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3AA DUP2 PUSH2 0x945 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3BF DUP2 PUSH2 0x95C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3D4 DUP2 PUSH2 0x973 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3F4 JUMPI PUSH2 0x3F3 PUSH2 0x918 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x402 DUP8 DUP3 DUP9 ADD PUSH2 0x2BE JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x413 DUP8 DUP3 DUP9 ADD PUSH2 0x39B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x434 JUMPI PUSH2 0x433 PUSH2 0x913 JUMP JUMPDEST JUMPDEST PUSH2 0x440 DUP8 DUP3 DUP9 ADD PUSH2 0x32F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x451 DUP8 DUP3 DUP9 ADD PUSH2 0x3B0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x477 JUMPI PUSH2 0x476 PUSH2 0x918 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x495 JUMPI PUSH2 0x494 PUSH2 0x913 JUMP JUMPDEST JUMPDEST PUSH2 0x4A1 DUP8 DUP3 DUP9 ADD PUSH2 0x32F JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x4B2 DUP8 DUP3 DUP9 ADD PUSH2 0x39B JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4D3 JUMPI PUSH2 0x4D2 PUSH2 0x913 JUMP JUMPDEST JUMPDEST PUSH2 0x4DF DUP8 DUP3 DUP9 ADD PUSH2 0x32F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x4F0 DUP8 DUP3 DUP9 ADD PUSH2 0x3B0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x508 DUP4 DUP4 PUSH2 0x594 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x519 DUP2 PUSH2 0x7D7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x52A DUP3 PUSH2 0x792 JUMP JUMPDEST PUSH2 0x534 DUP2 DUP6 PUSH2 0x7B5 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x546 DUP6 PUSH2 0x782 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x582 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x563 DUP6 DUP3 PUSH2 0x4FC JUMP JUMPDEST SWAP5 POP PUSH2 0x56E DUP4 PUSH2 0x7A8 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x54A JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x59F DUP3 PUSH2 0x79D JUMP JUMPDEST PUSH2 0x5A9 DUP2 DUP6 PUSH2 0x7C6 JUMP JUMPDEST SWAP4 POP PUSH2 0x5B9 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x867 JUMP JUMPDEST PUSH2 0x5C2 DUP2 PUSH2 0x91D JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5D6 DUP2 PUSH2 0x834 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x5F4 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x637 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x60C DUP3 DUP3 PUSH2 0x51F JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x622 DUP2 PUSH2 0x809 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x631 DUP2 PUSH2 0x813 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x640 DUP2 PUSH2 0x827 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x65B PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x510 JUMP JUMPDEST PUSH2 0x668 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x619 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x67A DUP2 DUP6 PUSH2 0x5DC JUMP JUMPDEST SWAP1 POP PUSH2 0x689 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x628 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6A7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6C7 DUP2 DUP8 PUSH2 0x5DC JUMP JUMPDEST SWAP1 POP PUSH2 0x6D6 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x619 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x6E8 DUP2 DUP6 PUSH2 0x5DC JUMP JUMPDEST SWAP1 POP PUSH2 0x6F7 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x628 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x70A PUSH2 0x71B JUMP JUMPDEST SWAP1 POP PUSH2 0x716 DUP3 DUP3 PUSH2 0x89A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x740 JUMPI PUSH2 0x73F PUSH2 0x8CB JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x76C JUMPI PUSH2 0x76B PUSH2 0x8CB JUMP JUMPDEST JUMPDEST PUSH2 0x775 DUP3 PUSH2 0x91D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E2 DUP3 PUSH2 0x7E9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x83F DUP3 PUSH2 0x846 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 DUP3 PUSH2 0x7E9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x885 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x86A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x894 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x8A3 DUP3 PUSH2 0x91D JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x8C2 JUMPI PUSH2 0x8C1 PUSH2 0x8CB JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x937 DUP2 PUSH2 0x7D7 JUMP JUMPDEST DUP2 EQ PUSH2 0x942 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x94E DUP2 PUSH2 0x809 JUMP JUMPDEST DUP2 EQ PUSH2 0x959 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x965 DUP2 PUSH2 0x813 JUMP JUMPDEST DUP2 EQ PUSH2 0x970 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x97C DUP2 PUSH2 0x827 JUMP JUMPDEST DUP2 EQ PUSH2 0x987 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMPI 0x5D 0x5F PUSH17 0xCE7C46F061274CB948A465F99735E8B3FB 0x5C 0xD4 SMOD REVERT 0x2E PUSH26 0xA17E0E62D364736F6C6343000806003300000000000000000000 ", - "sourceMap": "2038:842:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2143:76;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2588:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2230:349;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2143:76;;;;;;;;;;;;:::o;2588:286::-;2800:7;;;;;;;;;;:27;;;2828:5;2835:6;2843:11;2856:6;2800:63;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2588:286;;;;:::o;2230:349::-;2505:7;;;;;;;;;;:16;;;2522;2540:6;2548:11;2561:6;2505:63;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2230:349;;;;:::o;22:954:1:-;127:5;152:90;168:73;234:6;168:73;:::i;:::-;152:90;:::i;:::-;143:99;;262:5;291:6;284:5;277:21;325:4;318:5;314:16;307:23;;351:6;401:3;393:4;385:6;381:17;376:3;372:27;369:36;366:2;;;420:79;;:::i;:::-;366:2;533:1;518:452;543:6;540:1;537:13;518:452;;;625:3;612:17;661:18;648:11;645:35;642:2;;;683:79;;:::i;:::-;642:2;807:11;799:6;795:24;845:46;887:3;875:10;845:46;:::i;:::-;840:3;833:59;921:4;916:3;912:14;905:21;;955:4;950:3;946:14;939:21;;578:392;;565:1;562;558:9;553:14;;518:452;;;522:14;133:843;;;;;;;:::o;982:410::-;1059:5;1084:65;1100:48;1141:6;1100:48;:::i;:::-;1084:65;:::i;:::-;1075:74;;1172:6;1165:5;1158:21;1210:4;1203:5;1199:16;1248:3;1239:6;1234:3;1230:16;1227:25;1224:2;;;1255:79;;:::i;:::-;1224:2;1345:41;1379:6;1374:3;1369;1345:41;:::i;:::-;1065:327;;;;;;:::o;1398:139::-;1444:5;1482:6;1469:20;1460:29;;1498:33;1525:5;1498:33;:::i;:::-;1450:87;;;;:::o;1558:388::-;1638:5;1687:3;1680:4;1672:6;1668:17;1664:27;1654:2;;1695:79;;:::i;:::-;1654:2;1812:6;1799:20;1837:103;1936:3;1928:6;1921:4;1913:6;1909:17;1837:103;:::i;:::-;1828:112;;1644:302;;;;;:::o;1965:338::-;2020:5;2069:3;2062:4;2054:6;2050:17;2046:27;2036:2;;2077:79;;:::i;:::-;2036:2;2194:6;2181:20;2219:78;2293:3;2285:6;2278:4;2270:6;2266:17;2219:78;:::i;:::-;2210:87;;2026:277;;;;;:::o;2345:776::-;2422:5;2466:4;2454:9;2449:3;2445:19;2441:30;2438:2;;;2474:79;;:::i;:::-;2438:2;2573:21;2589:4;2573:21;:::i;:::-;2564:30;;2656:1;2696:47;2739:3;2730:6;2719:9;2715:22;2696:47;:::i;:::-;2689:4;2682:5;2678:16;2671:73;2604:151;2846:2;2835:9;2831:18;2818:32;2877:18;2869:6;2866:30;2863:2;;;2899:79;;:::i;:::-;2863:2;3019:83;3098:3;3089:6;3078:9;3074:22;3019:83;:::i;:::-;3012:4;3005:5;3001:16;2994:109;2765:349;2428:693;;;;:::o;3127:139::-;3173:5;3211:6;3198:20;3189:29;;3227:33;3254:5;3227:33;:::i;:::-;3179:87;;;;:::o;3272:137::-;3317:5;3355:6;3342:20;3333:29;;3371:32;3397:5;3371:32;:::i;:::-;3323:86;;;;:::o;3415:135::-;3459:5;3497:6;3484:20;3475:29;;3513:31;3538:5;3513:31;:::i;:::-;3465:85;;;;:::o;3556:979::-;3669:6;3677;3685;3693;3742:3;3730:9;3721:7;3717:23;3713:33;3710:2;;;3749:79;;:::i;:::-;3710:2;3869:1;3894:53;3939:7;3930:6;3919:9;3915:22;3894:53;:::i;:::-;3884:63;;3840:117;3996:2;4022:53;4067:7;4058:6;4047:9;4043:22;4022:53;:::i;:::-;4012:63;;3967:118;4152:2;4141:9;4137:18;4124:32;4183:18;4175:6;4172:30;4169:2;;;4205:79;;:::i;:::-;4169:2;4310:81;4383:7;4374:6;4363:9;4359:22;4310:81;:::i;:::-;4300:91;;4095:306;4440:2;4466:52;4510:7;4501:6;4490:9;4486:22;4466:52;:::i;:::-;4456:62;;4411:117;3700:835;;;;;;;:::o;4541:1195::-;4682:6;4690;4698;4706;4755:3;4743:9;4734:7;4730:23;4726:33;4723:2;;;4762:79;;:::i;:::-;4723:2;4910:1;4899:9;4895:17;4882:31;4940:18;4932:6;4929:30;4926:2;;;4962:79;;:::i;:::-;4926:2;5067:81;5140:7;5131:6;5120:9;5116:22;5067:81;:::i;:::-;5057:91;;4853:305;5197:2;5223:53;5268:7;5259:6;5248:9;5244:22;5223:53;:::i;:::-;5213:63;;5168:118;5353:2;5342:9;5338:18;5325:32;5384:18;5376:6;5373:30;5370:2;;;5406:79;;:::i;:::-;5370:2;5511:81;5584:7;5575:6;5564:9;5560:22;5511:81;:::i;:::-;5501:91;;5296:306;5641:2;5667:52;5711:7;5702:6;5691:9;5687:22;5667:52;:::i;:::-;5657:62;;5612:117;4713:1023;;;;;;;:::o;5742:192::-;5829:10;5864:64;5924:3;5916:6;5864:64;:::i;:::-;5850:78;;5840:94;;;;:::o;5940:118::-;6027:24;6045:5;6027:24;:::i;:::-;6022:3;6015:37;6005:53;;:::o;6090:963::-;6217:3;6246:63;6303:5;6246:63;:::i;:::-;6325:85;6403:6;6398:3;6325:85;:::i;:::-;6318:92;;6436:3;6481:4;6473:6;6469:17;6464:3;6460:27;6511:65;6570:5;6511:65;:::i;:::-;6599:7;6630:1;6615:393;6640:6;6637:1;6634:13;6615:393;;;6711:9;6705:4;6701:20;6696:3;6689:33;6762:6;6756:13;6790:82;6867:4;6852:13;6790:82;:::i;:::-;6782:90;;6895:69;6957:6;6895:69;:::i;:::-;6885:79;;6993:4;6988:3;6984:14;6977:21;;6675:333;6662:1;6659;6655:9;6650:14;;6615:393;;;6619:14;7024:4;7017:11;;7044:3;7037:10;;6222:831;;;;;;;;;:::o;7059:340::-;7135:3;7163:38;7195:5;7163:38;:::i;:::-;7217:60;7270:6;7265:3;7217:60;:::i;:::-;7210:67;;7286:52;7331:6;7326:3;7319:4;7312:5;7308:16;7286:52;:::i;:::-;7363:29;7385:6;7363:29;:::i;:::-;7358:3;7354:39;7347:46;;7139:260;;;;;:::o;7405:159::-;7506:51;7551:5;7506:51;:::i;:::-;7501:3;7494:64;7484:80;;:::o;7638:663::-;7763:3;7799:4;7794:3;7790:14;7889:4;7882:5;7878:16;7872:23;7908:59;7961:4;7956:3;7952:14;7938:12;7908:59;:::i;:::-;7814:163;8063:4;8056:5;8052:16;8046:23;8116:3;8110:4;8106:14;8099:4;8094:3;8090:14;8083:38;8142:121;8258:4;8244:12;8142:121;:::i;:::-;8134:129;;7987:287;8291:4;8284:11;;7768:533;;;;;:::o;8307:118::-;8394:24;8412:5;8394:24;:::i;:::-;8389:3;8382:37;8372:53;;:::o;8431:115::-;8516:23;8533:5;8516:23;:::i;:::-;8511:3;8504:36;8494:52;;:::o;8552:102::-;8625:22;8641:5;8625:22;:::i;:::-;8620:3;8613:35;8603:51;;:::o;8660:712::-;8891:4;8929:3;8918:9;8914:19;8906:27;;8943:71;9011:1;9000:9;8996:17;8987:6;8943:71;:::i;:::-;9024:72;9092:2;9081:9;9077:18;9068:6;9024:72;:::i;:::-;9143:9;9137:4;9133:20;9128:2;9117:9;9113:18;9106:48;9171:114;9280:4;9271:6;9171:114;:::i;:::-;9163:122;;9295:70;9361:2;9350:9;9346:18;9337:6;9295:70;:::i;:::-;8896:476;;;;;;;:::o;9378:250::-;9485:4;9523:2;9512:9;9508:18;9500:26;;9536:85;9618:1;9607:9;9603:17;9594:6;9536:85;:::i;:::-;9490:138;;;;:::o;9634:875::-;9921:4;9959:3;9948:9;9944:19;9936:27;;10009:9;10003:4;9999:20;9995:1;9984:9;9980:17;9973:47;10037:114;10146:4;10137:6;10037:114;:::i;:::-;10029:122;;10161:72;10229:2;10218:9;10214:18;10205:6;10161:72;:::i;:::-;10280:9;10274:4;10270:20;10265:2;10254:9;10250:18;10243:48;10308:114;10417:4;10408:6;10308:114;:::i;:::-;10300:122;;10432:70;10498:2;10487:9;10483:18;10474:6;10432:70;:::i;:::-;9926:583;;;;;;;:::o;10515:129::-;10549:6;10576:20;;:::i;:::-;10566:30;;10605:33;10633:4;10625:6;10605:33;:::i;:::-;10556:88;;;:::o;10650:75::-;10683:6;10716:2;10710:9;10700:19;;10690:35;:::o;10731:320::-;10817:4;10907:18;10899:6;10896:30;10893:2;;;10929:18;;:::i;:::-;10893:2;10979:4;10971:6;10967:17;10959:25;;11039:4;11033;11029:15;11021:23;;10822:229;;;:::o;11057:307::-;11118:4;11208:18;11200:6;11197:30;11194:2;;;11230:18;;:::i;:::-;11194:2;11268:29;11290:6;11268:29;:::i;:::-;11260:37;;11352:4;11346;11342:15;11334:23;;11123:241;;;:::o;11370:141::-;11446:4;11469:3;11461:11;;11499:4;11494:3;11490:14;11482:22;;11451:60;;;:::o;11517:123::-;11593:6;11627:5;11621:12;11611:22;;11600:40;;;:::o;11646:98::-;11697:6;11731:5;11725:12;11715:22;;11704:40;;;:::o;11750:122::-;11829:4;11861;11856:3;11852:14;11844:22;;11834:38;;;:::o;11878:183::-;11976:11;12010:6;12005:3;11998:19;12050:4;12045:3;12041:14;12026:29;;11988:73;;;;:::o;12067:158::-;12140:11;12174:6;12169:3;12162:19;12214:4;12209:3;12205:14;12190:29;;12152:73;;;;:::o;12231:96::-;12268:7;12297:24;12315:5;12297:24;:::i;:::-;12286:35;;12276:51;;;:::o;12333:126::-;12370:7;12410:42;12403:5;12399:54;12388:65;;12378:81;;;:::o;12465:77::-;12502:7;12531:5;12520:16;;12510:32;;;:::o;12548:101::-;12584:7;12624:18;12617:5;12613:30;12602:41;;12592:57;;;:::o;12655:86::-;12690:7;12730:4;12723:5;12719:16;12708:27;;12698:43;;;:::o;12747:154::-;12811:9;12844:51;12889:5;12844:51;:::i;:::-;12831:64;;12821:80;;;:::o;12907:127::-;12971:9;13004:24;13022:5;13004:24;:::i;:::-;12991:37;;12981:53;;;:::o;13040:154::-;13124:6;13119:3;13114;13101:30;13186:1;13177:6;13172:3;13168:16;13161:27;13091:103;;;:::o;13200:307::-;13268:1;13278:113;13292:6;13289:1;13286:13;13278:113;;;13377:1;13372:3;13368:11;13362:18;13358:1;13353:3;13349:11;13342:39;13314:2;13311:1;13307:10;13302:15;;13278:113;;;13409:6;13406:1;13403:13;13400:2;;;13489:1;13480:6;13475:3;13471:16;13464:27;13400:2;13249:258;;;;:::o;13513:281::-;13596:27;13618:4;13596:27;:::i;:::-;13588:6;13584:40;13726:6;13714:10;13711:22;13690:18;13678:10;13675:34;13672:62;13669:2;;;13737:18;;:::i;:::-;13669:2;13777:10;13773:2;13766:22;13556:238;;;:::o;13800:180::-;13848:77;13845:1;13838:88;13945:4;13942:1;13935:15;13969:4;13966:1;13959:15;13986:117;14095:1;14092;14085:12;14109:117;14218:1;14215;14208:12;14232:117;14341:1;14338;14331:12;14355:117;14464:1;14461;14454:12;14478:117;14587:1;14584;14577:12;14601:117;14710:1;14707;14700:12;14724:117;14833:1;14830;14823:12;14847:102;14888:6;14939:2;14935:7;14930:2;14923:5;14919:14;14915:28;14905:38;;14895:54;;;:::o;14955:122::-;15028:24;15046:5;15028:24;:::i;:::-;15021:5;15018:35;15008:2;;15067:1;15064;15057:12;15008:2;14998:79;:::o;15083:122::-;15156:24;15174:5;15156:24;:::i;:::-;15149:5;15146:35;15136:2;;15195:1;15192;15185:12;15136:2;15126:79;:::o;15211:120::-;15283:23;15300:5;15283:23;:::i;:::-;15276:5;15273:34;15263:2;;15321:1;15318;15311:12;15263:2;15253:78;:::o;15337:118::-;15408:22;15424:5;15408:22;:::i;:::-;15401:5;15398:33;15388:2;;15445:1;15442;15435:12;15388:2;15378:77;:::o" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "499200", - "executionCost": "24797", - "totalCost": "523997" - }, - "external": { - "transfer(address,uint256,(uint8,bytes[]),uint64)": "infinite", - "transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)": "infinite", - "xtokens()": "2532" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "80" - }, - { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "40" - }, - { "begin": 2038, "end": 2880, "name": "MSTORE", "source": 0 }, - { - "begin": 2176, - "end": 2218, - "name": "PUSH", - "source": 0, - "value": "804" - }, - { - "begin": 2143, - "end": 2219, - "name": "PUSH", - "source": 0, - "value": "0" - }, - { "begin": 2143, "end": 2219, "name": "DUP1", "source": 0 }, - { - "begin": 2143, - "end": 2219, - "name": "PUSH", - "source": 0, - "value": "100" - }, - { "begin": 2143, "end": 2219, "name": "EXP", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "DUP2", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SLOAD", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "DUP2", "source": 0 }, - { - "begin": 2143, - "end": 2219, - "name": "PUSH", - "source": 0, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { "begin": 2143, "end": 2219, "name": "MUL", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "NOT", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "AND", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SWAP1", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "DUP4", "source": 0 }, - { - "begin": 2143, - "end": 2219, - "name": "PUSH", - "source": 0, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { "begin": 2143, "end": 2219, "name": "AND", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "MUL", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "OR", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SWAP1", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SSTORE", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "POP", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "CALLVALUE", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "ISZERO", "source": 0 }, - { - "begin": 2038, - "end": 2880, - "name": "PUSH [tag]", - "source": 0, - "value": "1" - }, - { "begin": 2038, "end": 2880, "name": "JUMPI", "source": 0 }, - { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "0" - }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "REVERT", "source": 0 }, - { - "begin": 2038, - "end": 2880, - "name": "tag", - "source": 0, - "value": "1" - }, - { "begin": 2038, "end": 2880, "name": "JUMPDEST", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "POP", "source": 0 }, - { - "begin": 2038, - "end": 2880, - "name": "PUSH #[$]", - "source": 0, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, - { - "begin": 2038, - "end": 2880, - "name": "PUSH [$]", - "source": 0, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "0" - }, - { "begin": 2038, "end": 2880, "name": "CODECOPY", "source": 0 }, - { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "0" - }, - { "begin": 2038, "end": 2880, "name": "RETURN", "source": 0 } - ], - ".data": { - "0": { - ".auxdata": "a2646970667358221220575d5f70ce7c46f061274cb948a465f99735e8b3fb5cd407fd2e79a17e0e62d364736f6c63430008060033", - ".code": [ + "src": "16158:118:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16345:52:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16362:3:1" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16384:5:1" + } + ], + "functionName": { + "name": "cleanup_t_uint64", + "nodeType": "YulIdentifier", + "src": "16367:16:1" + }, + "nodeType": "YulFunctionCall", + "src": "16367:23:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16355:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "16355:36:1" + }, + "nodeType": "YulExpressionStatement", + "src": "16355:36:1" + } + ] + }, + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16333:5:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16340:3:1", + "type": "" + } + ], + "src": "16282:115:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16723:666:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16733:27:1", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16745:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16756:3:1", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16741:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "16741:19:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16733:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16781:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16792:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16777:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "16777:17:1" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16800:4:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16806:9:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16796:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "16796:20:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16770:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "16770:47:1" + }, + "nodeType": "YulExpressionStatement", + "src": "16770:47:1" + }, + { + "nodeType": "YulAssignment", + "src": "16826:122:1", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16934:6:1" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16943:4:1" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16834:99:1" + }, + "nodeType": "YulFunctionCall", + "src": "16834:114:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16826:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17002:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17015:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17026:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17011:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "17011:18:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "16958:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "16958:72:1" + }, + "nodeType": "YulExpressionStatement", + "src": "16958:72:1" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "17084:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17097:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17108:2:1", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17093:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "17093:18:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "17040:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "17040:72:1" + }, + "nodeType": "YulExpressionStatement", + "src": "17040:72:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17133:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17144:2:1", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17129:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "17129:18:1" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17153:4:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17159:9:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17149:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "17149:20:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17122:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "17122:48:1" + }, + "nodeType": "YulExpressionStatement", + "src": "17122:48:1" + }, + { + "nodeType": "YulAssignment", + "src": "17179:122:1", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "17287:6:1" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17296:4:1" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17187:99:1" + }, + "nodeType": "YulFunctionCall", + "src": "17187:114:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17179:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "17353:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17366:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17377:3:1", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17362:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "17362:19:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "17311:41:1" + }, + "nodeType": "YulFunctionCall", + "src": "17311:71:1" + }, + "nodeType": "YulExpressionStatement", + "src": "17311:71:1" + } + ] + }, + "name": "abi_encode_tuple_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16663:9:1", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "16675:6:1", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "16683:6:1", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "16691:6:1", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16699:6:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16707:6:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16718:4:1", + "type": "" + } + ], + "src": "16403:986:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17460:53:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17477:3:1" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17500:5:1" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "17482:17:1" + }, + "nodeType": "YulFunctionCall", + "src": "17482:24:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17470:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "17470:37:1" + }, + "nodeType": "YulExpressionStatement", + "src": "17470:37:1" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17448:5:1", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17455:3:1", + "type": "" + } + ], + "src": "17395:118:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17783:559:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17793:27:1", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17805:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17816:3:1", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17801:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "17801:19:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17793:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17874:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17887:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17898:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17883:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "17883:17:1" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "17830:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "17830:71:1" + }, + "nodeType": "YulExpressionStatement", + "src": "17830:71:1" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17955:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17968:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17979:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17964:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "17964:18:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "17911:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "17911:72:1" + }, + "nodeType": "YulExpressionStatement", + "src": "17911:72:1" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18037:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18050:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18061:2:1", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18046:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18046:18:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "17993:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "17993:72:1" + }, + "nodeType": "YulExpressionStatement", + "src": "17993:72:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18086:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18097:2:1", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18082:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18082:18:1" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18106:4:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18112:9:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18102:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18102:20:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18075:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "18075:48:1" + }, + "nodeType": "YulExpressionStatement", + "src": "18075:48:1" + }, + { + "nodeType": "YulAssignment", + "src": "18132:122:1", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18240:6:1" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18249:4:1" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18140:99:1" + }, + "nodeType": "YulFunctionCall", + "src": "18140:114:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18132:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "18306:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18319:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18330:3:1", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18315:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18315:19:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "18264:41:1" + }, + "nodeType": "YulFunctionCall", + "src": "18264:71:1" + }, + "nodeType": "YulExpressionStatement", + "src": "18264:71:1" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_address_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17723:9:1", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "17735:6:1", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "17743:6:1", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "17751:6:1", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17759:6:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17767:6:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17778:4:1", + "type": "" + } + ], + "src": "17519:823:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18640:583:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18650:27:1", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18662:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18673:3:1", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18658:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18658:19:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18650:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18698:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18709:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18694:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18694:17:1" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18717:4:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18723:9:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18713:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18713:20:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18687:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "18687:47:1" + }, + "nodeType": "YulExpressionStatement", + "src": "18687:47:1" + }, + { + "nodeType": "YulAssignment", + "src": "18743:122:1", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18851:6:1" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18860:4:1" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18751:99:1" + }, + "nodeType": "YulFunctionCall", + "src": "18751:114:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18743:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18919:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18932:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18943:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18928:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18928:18:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "18875:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "18875:72:1" + }, + "nodeType": "YulExpressionStatement", + "src": "18875:72:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18968:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18979:2:1", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18964:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18964:18:1" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18988:4:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18994:9:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18984:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "18984:20:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18957:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "18957:48:1" + }, + "nodeType": "YulExpressionStatement", + "src": "18957:48:1" + }, + { + "nodeType": "YulAssignment", + "src": "19014:122:1", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "19122:6:1" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19131:4:1" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19022:99:1" + }, + "nodeType": "YulFunctionCall", + "src": "19022:114:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19014:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "19188:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19201:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19212:2:1", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19197:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "19197:18:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "19146:41:1" + }, + "nodeType": "YulFunctionCall", + "src": "19146:70:1" + }, + "nodeType": "YulExpressionStatement", + "src": "19146:70:1" + } + ] + }, + "name": "abi_encode_tuple_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18588:9:1", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "18600:6:1", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "18608:6:1", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18616:6:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18624:6:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18635:4:1", + "type": "" + } + ], + "src": "18348:875:1" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19465:476:1", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19475:27:1", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19487:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19498:3:1", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19483:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "19483:19:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19475:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19556:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19569:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19580:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19565:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "19565:17:1" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "19512:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "19512:71:1" + }, + "nodeType": "YulExpressionStatement", + "src": "19512:71:1" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "19637:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19650:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19661:2:1", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19646:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "19646:18:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "19593:43:1" + }, + "nodeType": "YulFunctionCall", + "src": "19593:72:1" + }, + "nodeType": "YulExpressionStatement", + "src": "19593:72:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19686:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19697:2:1", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19682:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "19682:18:1" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19706:4:1" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19712:9:1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19702:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "19702:20:1" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19675:6:1" + }, + "nodeType": "YulFunctionCall", + "src": "19675:48:1" + }, + "nodeType": "YulExpressionStatement", + "src": "19675:48:1" + }, + { + "nodeType": "YulAssignment", + "src": "19732:122:1", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "19840:6:1" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19849:4:1" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19740:99:1" + }, + "nodeType": "YulFunctionCall", + "src": "19740:114:1" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19732:4:1" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "19906:6:1" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19919:9:1" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19930:2:1", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19915:3:1" + }, + "nodeType": "YulFunctionCall", + "src": "19915:18:1" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "19864:41:1" + }, + "nodeType": "YulFunctionCall", + "src": "19864:70:1" + }, + "nodeType": "YulExpressionStatement", + "src": "19864:70:1" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19413:9:1", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "19425:6:1", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "19433:6:1", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "19441:6:1", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19449:6:1", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19460:4:1", + "type": "" + } + ], + "src": "19229:712:1" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\n revert(0, 0)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n // bytes[]\n function abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let innerOffset := calldataload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_bytes_memory_ptr(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // bytes[]\n function abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n // struct Xtokens.Multilocation\n function abi_decode_t_struct$_Multilocation_$8_memory_ptr(headStart, end) -> value {\n if slt(sub(end, headStart), 0x40) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n value := allocate_memory(0x40)\n\n {\n // parents\n\n let offset := 0\n\n mstore(add(value, 0x00), abi_decode_t_uint8(add(headStart, offset), end))\n\n }\n\n {\n // interior\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() }\n\n mstore(add(value, 0x20), abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(headStart, offset), end))\n\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function validator_revert_t_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_tuple_t_struct$_Multilocation_$8_memory_ptrt_uint256t_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256t_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_Xtokens_$67_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_Xtokens_$67_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_Xtokens_$67_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_Xtokens_$67__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_Xtokens_$67_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_struct$_Multilocation_$8_memory_ptrt_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256t_struct$_Multilocation_$8_memory_ptrt_uint64(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_struct$_Multilocation_$8_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // bytes[] -> bytes[]\n function abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value, pos) -> end {\n let length := array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n // struct Xtokens.Multilocation -> struct Xtokens.Multilocation\n function abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x40)\n\n {\n // parents\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x00))\n }\n\n {\n // interior\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint64(value))\n }\n\n function abi_encode_tuple_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value3, tail)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_address_t_uint256_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value3, tail)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_encode_tuple_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_struct$_Multilocation_$8_memory_ptr_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__to_t_address_t_uint256_t_struct$_Multilocation_$8_memory_ptr_t_uint64__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_struct$_Multilocation_$8_memory_ptr_to_t_struct$_Multilocation_$8_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value3, add(headStart, 96))\n\n }\n\n}\n", + "id": 1, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100575760003560e01c806389a570fc1461005c57806394f6911514610078578063af3dcee814610094578063b38c60fa146100b2578063b9f813ff146100ce575b600080fd5b610076600480360381019061007191906106d5565b6100ea565b005b610092600480360381019061008d91906107e6565b610184565b005b61009c61021e565b6040516100a991906108dc565b60405180910390f35b6100cc60048036038101906100c791906108f7565b610242565b005b6100e860048036038101906100e39190610996565b6102d9565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166389a570fc86868686866040518663ffffffff1660e01b815260040161014b959493929190610bcd565b600060405180830381600087803b15801561016557600080fd5b505af1158015610179573d6000803e3d6000fd5b505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394f6911586868686866040518663ffffffff1660e01b81526004016101e5959493929190610c3d565b600060405180830381600087803b1580156101ff57600080fd5b505af1158015610213573d6000803e3d6000fd5b505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b38c60fa858585856040518563ffffffff1660e01b81526004016102a19493929190610c97565b600060405180830381600087803b1580156102bb57600080fd5b505af11580156102cf573d6000803e3d6000fd5b5050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9f813ff858585856040518563ffffffff1660e01b81526004016103389493929190610cea565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103d282610389565b810181811067ffffffffffffffff821117156103f1576103f061039a565b5b80604052505050565b6000610404610370565b905061041082826103c9565b919050565b600080fd5b600060ff82169050919050565b6104308161041a565b811461043b57600080fd5b50565b60008135905061044d81610427565b92915050565b600080fd5b600067ffffffffffffffff8211156104735761047261039a565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff8211156104a9576104a861039a565b5b6104b282610389565b9050602081019050919050565b82818337600083830152505050565b60006104e16104dc8461048e565b6103fa565b9050828152602081018484840111156104fd576104fc610489565b5b6105088482856104bf565b509392505050565b600082601f83011261052557610524610453565b5b81356105358482602086016104ce565b91505092915050565b600061055161054c84610458565b6103fa565b9050808382526020820190506020840283018581111561057457610573610484565b5b835b818110156105bb57803567ffffffffffffffff81111561059957610598610453565b5b8086016105a68982610510565b85526020850194505050602081019050610576565b5050509392505050565b600082601f8301126105da576105d9610453565b5b81356105ea84826020860161053e565b91505092915050565b60006040828403121561060957610608610384565b5b61061360406103fa565b905060006106238482850161043e565b600083015250602082013567ffffffffffffffff81111561064757610646610415565b5b610653848285016105c5565b60208301525092915050565b6000819050919050565b6106728161065f565b811461067d57600080fd5b50565b60008135905061068f81610669565b92915050565b600067ffffffffffffffff82169050919050565b6106b281610695565b81146106bd57600080fd5b50565b6000813590506106cf816106a9565b92915050565b600080600080600060a086880312156106f1576106f061037a565b5b600086013567ffffffffffffffff81111561070f5761070e61037f565b5b61071b888289016105f3565b955050602061072c88828901610680565b945050604061073d88828901610680565b935050606086013567ffffffffffffffff81111561075e5761075d61037f565b5b61076a888289016105f3565b925050608061077b888289016106c0565b9150509295509295909350565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107b382610788565b9050919050565b6107c3816107a8565b81146107ce57600080fd5b50565b6000813590506107e0816107ba565b92915050565b600080600080600060a086880312156108025761080161037a565b5b6000610810888289016107d1565b955050602061082188828901610680565b945050604061083288828901610680565b935050606086013567ffffffffffffffff8111156108535761085261037f565b5b61085f888289016105f3565b9250506080610870888289016106c0565b9150509295509295909350565b6000819050919050565b60006108a261089d61089884610788565b61087d565b610788565b9050919050565b60006108b482610887565b9050919050565b60006108c6826108a9565b9050919050565b6108d6816108bb565b82525050565b60006020820190506108f160008301846108cd565b92915050565b600080600080608085870312156109115761091061037a565b5b600085013567ffffffffffffffff81111561092f5761092e61037f565b5b61093b878288016105f3565b945050602061094c87828801610680565b935050604085013567ffffffffffffffff81111561096d5761096c61037f565b5b610979878288016105f3565b925050606061098a878288016106c0565b91505092959194509250565b600080600080608085870312156109b0576109af61037a565b5b60006109be878288016107d1565b94505060206109cf87828801610680565b935050604085013567ffffffffffffffff8111156109f0576109ef61037f565b5b6109fc878288016105f3565b9250506060610a0d878288016106c0565b91505092959194509250565b610a228161041a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a8e578082015181840152602081019050610a73565b83811115610a9d576000848401525b50505050565b6000610aae82610a54565b610ab88185610a5f565b9350610ac8818560208601610a70565b610ad181610389565b840191505092915050565b6000610ae88383610aa3565b905092915050565b6000602082019050919050565b6000610b0882610a28565b610b128185610a33565b935083602082028501610b2485610a44565b8060005b85811015610b605784840389528151610b418582610adc565b9450610b4c83610af0565b925060208a01995050600181019050610b28565b50829750879550505050505092915050565b6000604083016000830151610b8a6000860182610a19565b5060208301518482036020860152610ba28282610afd565b9150508091505092915050565b610bb88161065f565b82525050565b610bc781610695565b82525050565b600060a0820190508181036000830152610be78188610b72565b9050610bf66020830187610baf565b610c036040830186610baf565b8181036060830152610c158185610b72565b9050610c246080830184610bbe565b9695505050505050565b610c37816107a8565b82525050565b600060a082019050610c526000830188610c2e565b610c5f6020830187610baf565b610c6c6040830186610baf565b8181036060830152610c7e8185610b72565b9050610c8d6080830184610bbe565b9695505050505050565b60006080820190508181036000830152610cb18187610b72565b9050610cc06020830186610baf565b8181036040830152610cd28185610b72565b9050610ce16060830184610bbe565b95945050505050565b6000608082019050610cff6000830187610c2e565b610d0c6020830186610baf565b8181036040830152610d1e8185610b72565b9050610d2d6060830184610bbe565b9594505050505056fea2646970667358221220b24a0202511e20cccc8541601dc2b5ae2c631e77b614484a53c260036f97e79d64736f6c634300080a0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x89A570FC EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x94F69115 EQ PUSH2 0x78 JUMPI DUP1 PUSH4 0xAF3DCEE8 EQ PUSH2 0x94 JUMPI DUP1 PUSH4 0xB38C60FA EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xB9F813FF EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x6D5 JUMP JUMPDEST PUSH2 0xEA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x92 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x7E6 JUMP JUMPDEST PUSH2 0x184 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9C PUSH2 0x21E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x8DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC7 SWAP2 SWAP1 PUSH2 0x8F7 JUMP JUMPDEST PUSH2 0x242 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x996 JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x89A570FC DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14B SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xBCD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x165 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x179 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x94F69115 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E5 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC3D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x213 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB38C60FA DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2A1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xC97 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2CF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB9F813FF DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x338 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCEA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x352 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x366 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x3D2 DUP3 PUSH2 0x389 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x3F1 JUMPI PUSH2 0x3F0 PUSH2 0x39A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x404 PUSH2 0x370 JUMP JUMPDEST SWAP1 POP PUSH2 0x410 DUP3 DUP3 PUSH2 0x3C9 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x430 DUP2 PUSH2 0x41A JUMP JUMPDEST DUP2 EQ PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x44D DUP2 PUSH2 0x427 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x473 JUMPI PUSH2 0x472 PUSH2 0x39A JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4A9 JUMPI PUSH2 0x4A8 PUSH2 0x39A JUMP JUMPDEST JUMPDEST PUSH2 0x4B2 DUP3 PUSH2 0x389 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E1 PUSH2 0x4DC DUP5 PUSH2 0x48E JUMP JUMPDEST PUSH2 0x3FA JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4FD JUMPI PUSH2 0x4FC PUSH2 0x489 JUMP JUMPDEST JUMPDEST PUSH2 0x508 DUP5 DUP3 DUP6 PUSH2 0x4BF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x525 JUMPI PUSH2 0x524 PUSH2 0x453 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x535 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4CE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x551 PUSH2 0x54C DUP5 PUSH2 0x458 JUMP JUMPDEST PUSH2 0x3FA JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x574 JUMPI PUSH2 0x573 PUSH2 0x484 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5BB JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x599 JUMPI PUSH2 0x598 PUSH2 0x453 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x5A6 DUP10 DUP3 PUSH2 0x510 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x576 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5DA JUMPI PUSH2 0x5D9 PUSH2 0x453 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x5EA DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x53E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x609 JUMPI PUSH2 0x608 PUSH2 0x384 JUMP JUMPDEST JUMPDEST PUSH2 0x613 PUSH1 0x40 PUSH2 0x3FA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x623 DUP5 DUP3 DUP6 ADD PUSH2 0x43E JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x647 JUMPI PUSH2 0x646 PUSH2 0x415 JUMP JUMPDEST JUMPDEST PUSH2 0x653 DUP5 DUP3 DUP6 ADD PUSH2 0x5C5 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x672 DUP2 PUSH2 0x65F JUMP JUMPDEST DUP2 EQ PUSH2 0x67D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x68F DUP2 PUSH2 0x669 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6B2 DUP2 PUSH2 0x695 JUMP JUMPDEST DUP2 EQ PUSH2 0x6BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6CF DUP2 PUSH2 0x6A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x6F1 JUMPI PUSH2 0x6F0 PUSH2 0x37A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x70F JUMPI PUSH2 0x70E PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x71B DUP9 DUP3 DUP10 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x72C DUP9 DUP3 DUP10 ADD PUSH2 0x680 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x73D DUP9 DUP3 DUP10 ADD PUSH2 0x680 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x75E JUMPI PUSH2 0x75D PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x76A DUP9 DUP3 DUP10 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x77B DUP9 DUP3 DUP10 ADD PUSH2 0x6C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7B3 DUP3 PUSH2 0x788 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7C3 DUP2 PUSH2 0x7A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x7CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7E0 DUP2 PUSH2 0x7BA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x802 JUMPI PUSH2 0x801 PUSH2 0x37A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x810 DUP9 DUP3 DUP10 ADD PUSH2 0x7D1 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x821 DUP9 DUP3 DUP10 ADD PUSH2 0x680 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x832 DUP9 DUP3 DUP10 ADD PUSH2 0x680 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x853 JUMPI PUSH2 0x852 PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x85F DUP9 DUP3 DUP10 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x870 DUP9 DUP3 DUP10 ADD PUSH2 0x6C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A2 PUSH2 0x89D PUSH2 0x898 DUP5 PUSH2 0x788 JUMP JUMPDEST PUSH2 0x87D JUMP JUMPDEST PUSH2 0x788 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8B4 DUP3 PUSH2 0x887 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8C6 DUP3 PUSH2 0x8A9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8D6 DUP2 PUSH2 0x8BB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8F1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x911 JUMPI PUSH2 0x910 PUSH2 0x37A JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x92F JUMPI PUSH2 0x92E PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x93B DUP8 DUP3 DUP9 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x94C DUP8 DUP3 DUP9 ADD PUSH2 0x680 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x96D JUMPI PUSH2 0x96C PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x979 DUP8 DUP3 DUP9 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x98A DUP8 DUP3 DUP9 ADD PUSH2 0x6C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x9B0 JUMPI PUSH2 0x9AF PUSH2 0x37A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9BE DUP8 DUP3 DUP9 ADD PUSH2 0x7D1 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x9CF DUP8 DUP3 DUP9 ADD PUSH2 0x680 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9F0 JUMPI PUSH2 0x9EF PUSH2 0x37F JUMP JUMPDEST JUMPDEST PUSH2 0x9FC DUP8 DUP3 DUP9 ADD PUSH2 0x5F3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0xA0D DUP8 DUP3 DUP9 ADD PUSH2 0x6C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH2 0xA22 DUP2 PUSH2 0x41A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA8E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA73 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xA9D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAAE DUP3 PUSH2 0xA54 JUMP JUMPDEST PUSH2 0xAB8 DUP2 DUP6 PUSH2 0xA5F JUMP JUMPDEST SWAP4 POP PUSH2 0xAC8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA70 JUMP JUMPDEST PUSH2 0xAD1 DUP2 PUSH2 0x389 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAE8 DUP4 DUP4 PUSH2 0xAA3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB08 DUP3 PUSH2 0xA28 JUMP JUMPDEST PUSH2 0xB12 DUP2 DUP6 PUSH2 0xA33 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0xB24 DUP6 PUSH2 0xA44 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xB60 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0xB41 DUP6 DUP3 PUSH2 0xADC JUMP JUMPDEST SWAP5 POP PUSH2 0xB4C DUP4 PUSH2 0xAF0 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xB28 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0xB8A PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0xA19 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0xBA2 DUP3 DUP3 PUSH2 0xAFD JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBB8 DUP2 PUSH2 0x65F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xBC7 DUP2 PUSH2 0x695 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xBE7 DUP2 DUP9 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xBF6 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xBAF JUMP JUMPDEST PUSH2 0xC03 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0xBAF JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0xC15 DUP2 DUP6 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xC24 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xBBE JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xC37 DUP2 PUSH2 0x7A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0xC52 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0xC2E JUMP JUMPDEST PUSH2 0xC5F PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xBAF JUMP JUMPDEST PUSH2 0xC6C PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0xBAF JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0xC7E DUP2 DUP6 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xC8D PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xBBE JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCB1 DUP2 DUP8 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xCC0 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xBAF JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xCD2 DUP2 DUP6 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xCE1 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xBBE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xCFF PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0xC2E JUMP JUMPDEST PUSH2 0xD0C PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xBAF JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xD1E DUP2 DUP6 PUSH2 0xB72 JUMP JUMPDEST SWAP1 POP PUSH2 0xD2D PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xBBE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB2 0x4A MUL MUL MLOAD 0x1E KECCAK256 0xCC 0xCC DUP6 COINBASE PUSH1 0x1D 0xC2 0xB5 0xAE 0x2C PUSH4 0x1E77B614 BASEFEE 0x4A MSTORE8 0xC2 PUSH1 0x3 PUSH16 0x97E79D64736F6C634300080A00330000 ", + "sourceMap": "3560:1591:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4811:334;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4110:397;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3665:76;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4516:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3752:349;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4811:334;5057:7;;;;;;;;;;:36;;;5094:5;5101:6;5109:3;5114:11;5127:6;5057:77;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4811:334;;;;;:::o;4110:397::-;4419:7;;;;;;;;;;:25;;;4445:16;4463:6;4471:3;4476:11;4489:6;4419:77;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4110:397;;;;;:::o;3665:76::-;;;;;;;;;;;;:::o;4516:286::-;4728:7;;;;;;;;;;:27;;;4756:5;4763:6;4771:11;4784:6;4728:63;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4516:286;;;;:::o;3752:349::-;4027:7;;;;;;;;;;:16;;;4044;4062:6;4070:11;4083:6;4027:63;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3752:349;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:117::-;1282:1;1279;1272:12;1296:86;1331:7;1371:4;1364:5;1360:16;1349:27;;1296:86;;;:::o;1388:118::-;1459:22;1475:5;1459:22;:::i;:::-;1452:5;1449:33;1439:61;;1496:1;1493;1486:12;1439:61;1388:118;:::o;1512:135::-;1556:5;1594:6;1581:20;1572:29;;1610:31;1635:5;1610:31;:::i;:::-;1512:135;;;;:::o;1653:117::-;1762:1;1759;1752:12;1776:320;1862:4;1952:18;1944:6;1941:30;1938:56;;;1974:18;;:::i;:::-;1938:56;2024:4;2016:6;2012:17;2004:25;;2084:4;2078;2074:15;2066:23;;1776:320;;;:::o;2102:117::-;2211:1;2208;2201:12;2225:117;2334:1;2331;2324:12;2348:307;2409:4;2499:18;2491:6;2488:30;2485:56;;;2521:18;;:::i;:::-;2485:56;2559:29;2581:6;2559:29;:::i;:::-;2551:37;;2643:4;2637;2633:15;2625:23;;2348:307;;;:::o;2661:154::-;2745:6;2740:3;2735;2722:30;2807:1;2798:6;2793:3;2789:16;2782:27;2661:154;;;:::o;2821:410::-;2898:5;2923:65;2939:48;2980:6;2939:48;:::i;:::-;2923:65;:::i;:::-;2914:74;;3011:6;3004:5;2997:21;3049:4;3042:5;3038:16;3087:3;3078:6;3073:3;3069:16;3066:25;3063:112;;;3094:79;;:::i;:::-;3063:112;3184:41;3218:6;3213:3;3208;3184:41;:::i;:::-;2904:327;2821:410;;;;;:::o;3250:338::-;3305:5;3354:3;3347:4;3339:6;3335:17;3331:27;3321:122;;3362:79;;:::i;:::-;3321:122;3479:6;3466:20;3504:78;3578:3;3570:6;3563:4;3555:6;3551:17;3504:78;:::i;:::-;3495:87;;3311:277;3250:338;;;;:::o;3609:942::-;3714:5;3739:90;3755:73;3821:6;3755:73;:::i;:::-;3739:90;:::i;:::-;3730:99;;3849:5;3878:6;3871:5;3864:21;3912:4;3905:5;3901:16;3894:23;;3965:4;3957:6;3953:17;3945:6;3941:30;3994:3;3986:6;3983:15;3980:122;;;4013:79;;:::i;:::-;3980:122;4128:6;4111:434;4145:6;4140:3;4137:15;4111:434;;;4234:3;4221:17;4270:18;4257:11;4254:35;4251:122;;;4292:79;;:::i;:::-;4251:122;4416:11;4408:6;4404:24;4454:46;4496:3;4484:10;4454:46;:::i;:::-;4449:3;4442:59;4530:4;4525:3;4521:14;4514:21;;4187:358;;4171:4;4166:3;4162:14;4155:21;;4111:434;;;4115:21;3720:831;;3609:942;;;;;:::o;4572:388::-;4652:5;4701:3;4694:4;4686:6;4682:17;4678:27;4668:122;;4709:79;;:::i;:::-;4668:122;4826:6;4813:20;4851:103;4950:3;4942:6;4935:4;4927:6;4923:17;4851:103;:::i;:::-;4842:112;;4658:302;4572:388;;;;:::o;5002:776::-;5079:5;5123:4;5111:9;5106:3;5102:19;5098:30;5095:117;;;5131:79;;:::i;:::-;5095:117;5230:21;5246:4;5230:21;:::i;:::-;5221:30;;5313:1;5353:47;5396:3;5387:6;5376:9;5372:22;5353:47;:::i;:::-;5346:4;5339:5;5335:16;5328:73;5261:151;5503:2;5492:9;5488:18;5475:32;5534:18;5526:6;5523:30;5520:117;;;5556:79;;:::i;:::-;5520:117;5676:83;5755:3;5746:6;5735:9;5731:22;5676:83;:::i;:::-;5669:4;5662:5;5658:16;5651:109;5422:349;5002:776;;;;:::o;5784:77::-;5821:7;5850:5;5839:16;;5784:77;;;:::o;5867:122::-;5940:24;5958:5;5940:24;:::i;:::-;5933:5;5930:35;5920:63;;5979:1;5976;5969:12;5920:63;5867:122;:::o;5995:139::-;6041:5;6079:6;6066:20;6057:29;;6095:33;6122:5;6095:33;:::i;:::-;5995:139;;;;:::o;6140:101::-;6176:7;6216:18;6209:5;6205:30;6194:41;;6140:101;;;:::o;6247:120::-;6319:23;6336:5;6319:23;:::i;:::-;6312:5;6309:34;6299:62;;6357:1;6354;6347:12;6299:62;6247:120;:::o;6373:137::-;6418:5;6456:6;6443:20;6434:29;;6472:32;6498:5;6472:32;:::i;:::-;6373:137;;;;:::o;6516:1341::-;6666:6;6674;6682;6690;6698;6747:3;6735:9;6726:7;6722:23;6718:33;6715:120;;;6754:79;;:::i;:::-;6715:120;6902:1;6891:9;6887:17;6874:31;6932:18;6924:6;6921:30;6918:117;;;6954:79;;:::i;:::-;6918:117;7059:81;7132:7;7123:6;7112:9;7108:22;7059:81;:::i;:::-;7049:91;;6845:305;7189:2;7215:53;7260:7;7251:6;7240:9;7236:22;7215:53;:::i;:::-;7205:63;;7160:118;7317:2;7343:53;7388:7;7379:6;7368:9;7364:22;7343:53;:::i;:::-;7333:63;;7288:118;7473:2;7462:9;7458:18;7445:32;7504:18;7496:6;7493:30;7490:117;;;7526:79;;:::i;:::-;7490:117;7631:81;7704:7;7695:6;7684:9;7680:22;7631:81;:::i;:::-;7621:91;;7416:306;7761:3;7788:52;7832:7;7823:6;7812:9;7808:22;7788:52;:::i;:::-;7778:62;;7732:118;6516:1341;;;;;;;;:::o;7863:126::-;7900:7;7940:42;7933:5;7929:54;7918:65;;7863:126;;;:::o;7995:96::-;8032:7;8061:24;8079:5;8061:24;:::i;:::-;8050:35;;7995:96;;;:::o;8097:122::-;8170:24;8188:5;8170:24;:::i;:::-;8163:5;8160:35;8150:63;;8209:1;8206;8199:12;8150:63;8097:122;:::o;8225:139::-;8271:5;8309:6;8296:20;8287:29;;8325:33;8352:5;8325:33;:::i;:::-;8225:139;;;;:::o;8370:1125::-;8492:6;8500;8508;8516;8524;8573:3;8561:9;8552:7;8548:23;8544:33;8541:120;;;8580:79;;:::i;:::-;8541:120;8700:1;8725:53;8770:7;8761:6;8750:9;8746:22;8725:53;:::i;:::-;8715:63;;8671:117;8827:2;8853:53;8898:7;8889:6;8878:9;8874:22;8853:53;:::i;:::-;8843:63;;8798:118;8955:2;8981:53;9026:7;9017:6;9006:9;9002:22;8981:53;:::i;:::-;8971:63;;8926:118;9111:2;9100:9;9096:18;9083:32;9142:18;9134:6;9131:30;9128:117;;;9164:79;;:::i;:::-;9128:117;9269:81;9342:7;9333:6;9322:9;9318:22;9269:81;:::i;:::-;9259:91;;9054:306;9399:3;9426:52;9470:7;9461:6;9450:9;9446:22;9426:52;:::i;:::-;9416:62;;9370:118;8370:1125;;;;;;;;:::o;9501:60::-;9529:3;9550:5;9543:12;;9501:60;;;:::o;9567:142::-;9617:9;9650:53;9668:34;9677:24;9695:5;9677:24;:::i;:::-;9668:34;:::i;:::-;9650:53;:::i;:::-;9637:66;;9567:142;;;:::o;9715:126::-;9765:9;9798:37;9829:5;9798:37;:::i;:::-;9785:50;;9715:126;;;:::o;9847:140::-;9911:9;9944:37;9975:5;9944:37;:::i;:::-;9931:50;;9847:140;;;:::o;9993:159::-;10094:51;10139:5;10094:51;:::i;:::-;10089:3;10082:64;9993:159;;:::o;10158:250::-;10265:4;10303:2;10292:9;10288:18;10280:26;;10316:85;10398:1;10387:9;10383:17;10374:6;10316:85;:::i;:::-;10158:250;;;;:::o;10414:1195::-;10555:6;10563;10571;10579;10628:3;10616:9;10607:7;10603:23;10599:33;10596:120;;;10635:79;;:::i;:::-;10596:120;10783:1;10772:9;10768:17;10755:31;10813:18;10805:6;10802:30;10799:117;;;10835:79;;:::i;:::-;10799:117;10940:81;11013:7;11004:6;10993:9;10989:22;10940:81;:::i;:::-;10930:91;;10726:305;11070:2;11096:53;11141:7;11132:6;11121:9;11117:22;11096:53;:::i;:::-;11086:63;;11041:118;11226:2;11215:9;11211:18;11198:32;11257:18;11249:6;11246:30;11243:117;;;11279:79;;:::i;:::-;11243:117;11384:81;11457:7;11448:6;11437:9;11433:22;11384:81;:::i;:::-;11374:91;;11169:306;11514:2;11540:52;11584:7;11575:6;11564:9;11560:22;11540:52;:::i;:::-;11530:62;;11485:117;10414:1195;;;;;;;:::o;11615:979::-;11728:6;11736;11744;11752;11801:3;11789:9;11780:7;11776:23;11772:33;11769:120;;;11808:79;;:::i;:::-;11769:120;11928:1;11953:53;11998:7;11989:6;11978:9;11974:22;11953:53;:::i;:::-;11943:63;;11899:117;12055:2;12081:53;12126:7;12117:6;12106:9;12102:22;12081:53;:::i;:::-;12071:63;;12026:118;12211:2;12200:9;12196:18;12183:32;12242:18;12234:6;12231:30;12228:117;;;12264:79;;:::i;:::-;12228:117;12369:81;12442:7;12433:6;12422:9;12418:22;12369:81;:::i;:::-;12359:91;;12154:306;12499:2;12525:52;12569:7;12560:6;12549:9;12545:22;12525:52;:::i;:::-;12515:62;;12470:117;11615:979;;;;;;;:::o;12600:102::-;12673:22;12689:5;12673:22;:::i;:::-;12668:3;12661:35;12600:102;;:::o;12708:123::-;12784:6;12818:5;12812:12;12802:22;;12708:123;;;:::o;12837:183::-;12935:11;12969:6;12964:3;12957:19;13009:4;13004:3;13000:14;12985:29;;12837:183;;;;:::o;13026:141::-;13102:4;13125:3;13117:11;;13155:4;13150:3;13146:14;13138:22;;13026:141;;;:::o;13173:98::-;13224:6;13258:5;13252:12;13242:22;;13173:98;;;:::o;13277:158::-;13350:11;13384:6;13379:3;13372:19;13424:4;13419:3;13415:14;13400:29;;13277:158;;;;:::o;13441:307::-;13509:1;13519:113;13533:6;13530:1;13527:13;13519:113;;;13618:1;13613:3;13609:11;13603:18;13599:1;13594:3;13590:11;13583:39;13555:2;13552:1;13548:10;13543:15;;13519:113;;;13650:6;13647:1;13644:13;13641:101;;;13730:1;13721:6;13716:3;13712:16;13705:27;13641:101;13490:258;13441:307;;;:::o;13754:340::-;13830:3;13858:38;13890:5;13858:38;:::i;:::-;13912:60;13965:6;13960:3;13912:60;:::i;:::-;13905:67;;13981:52;14026:6;14021:3;14014:4;14007:5;14003:16;13981:52;:::i;:::-;14058:29;14080:6;14058:29;:::i;:::-;14053:3;14049:39;14042:46;;13834:260;13754:340;;;;:::o;14100:192::-;14187:10;14222:64;14282:3;14274:6;14222:64;:::i;:::-;14208:78;;14100:192;;;;:::o;14298:122::-;14377:4;14409;14404:3;14400:14;14392:22;;14298:122;;;:::o;14452:963::-;14579:3;14608:63;14665:5;14608:63;:::i;:::-;14687:85;14765:6;14760:3;14687:85;:::i;:::-;14680:92;;14798:3;14843:4;14835:6;14831:17;14826:3;14822:27;14873:65;14932:5;14873:65;:::i;:::-;14961:7;14992:1;14977:393;15002:6;14999:1;14996:13;14977:393;;;15073:9;15067:4;15063:20;15058:3;15051:33;15124:6;15118:13;15152:82;15229:4;15214:13;15152:82;:::i;:::-;15144:90;;15257:69;15319:6;15257:69;:::i;:::-;15247:79;;15355:4;15350:3;15346:14;15339:21;;15037:333;15024:1;15021;15017:9;15012:14;;14977:393;;;14981:14;15386:4;15379:11;;15406:3;15399:10;;14584:831;;;;;14452:963;;;;:::o;15489:663::-;15614:3;15650:4;15645:3;15641:14;15740:4;15733:5;15729:16;15723:23;15759:59;15812:4;15807:3;15803:14;15789:12;15759:59;:::i;:::-;15665:163;15914:4;15907:5;15903:16;15897:23;15967:3;15961:4;15957:14;15950:4;15945:3;15941:14;15934:38;15993:121;16109:4;16095:12;15993:121;:::i;:::-;15985:129;;15838:287;16142:4;16135:11;;15619:533;15489:663;;;;:::o;16158:118::-;16245:24;16263:5;16245:24;:::i;:::-;16240:3;16233:37;16158:118;;:::o;16282:115::-;16367:23;16384:5;16367:23;:::i;:::-;16362:3;16355:36;16282:115;;:::o;16403:986::-;16718:4;16756:3;16745:9;16741:19;16733:27;;16806:9;16800:4;16796:20;16792:1;16781:9;16777:17;16770:47;16834:114;16943:4;16934:6;16834:114;:::i;:::-;16826:122;;16958:72;17026:2;17015:9;17011:18;17002:6;16958:72;:::i;:::-;17040;17108:2;17097:9;17093:18;17084:6;17040:72;:::i;:::-;17159:9;17153:4;17149:20;17144:2;17133:9;17129:18;17122:48;17187:114;17296:4;17287:6;17187:114;:::i;:::-;17179:122;;17311:71;17377:3;17366:9;17362:19;17353:6;17311:71;:::i;:::-;16403:986;;;;;;;;:::o;17395:118::-;17482:24;17500:5;17482:24;:::i;:::-;17477:3;17470:37;17395:118;;:::o;17519:823::-;17778:4;17816:3;17805:9;17801:19;17793:27;;17830:71;17898:1;17887:9;17883:17;17874:6;17830:71;:::i;:::-;17911:72;17979:2;17968:9;17964:18;17955:6;17911:72;:::i;:::-;17993;18061:2;18050:9;18046:18;18037:6;17993:72;:::i;:::-;18112:9;18106:4;18102:20;18097:2;18086:9;18082:18;18075:48;18140:114;18249:4;18240:6;18140:114;:::i;:::-;18132:122;;18264:71;18330:3;18319:9;18315:19;18306:6;18264:71;:::i;:::-;17519:823;;;;;;;;:::o;18348:875::-;18635:4;18673:3;18662:9;18658:19;18650:27;;18723:9;18717:4;18713:20;18709:1;18698:9;18694:17;18687:47;18751:114;18860:4;18851:6;18751:114;:::i;:::-;18743:122;;18875:72;18943:2;18932:9;18928:18;18919:6;18875:72;:::i;:::-;18994:9;18988:4;18984:20;18979:2;18968:9;18964:18;18957:48;19022:114;19131:4;19122:6;19022:114;:::i;:::-;19014:122;;19146:70;19212:2;19201:9;19197:18;19188:6;19146:70;:::i;:::-;18348:875;;;;;;;:::o;19229:712::-;19460:4;19498:3;19487:9;19483:19;19475:27;;19512:71;19580:1;19569:9;19565:17;19556:6;19512:71;:::i;:::-;19593:72;19661:2;19650:9;19646:18;19637:6;19593:72;:::i;:::-;19712:9;19706:4;19702:20;19697:2;19686:9;19682:18;19675:48;19740:114;19849:4;19840:6;19740:114;:::i;:::-;19732:122;;19864:70;19930:2;19919:9;19915:18;19906:6;19864:70;:::i;:::-;19229:712;;;;;;;:::o" + }, + "gasEstimates": { + "creation": { + "codeDepositCost": "687200", + "executionCost": "24988", + "totalCost": "712188" + }, + "external": { + "transfer(address,uint256,(uint8,bytes[]),uint64)": "infinite", + "transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)": "infinite", + "transfer_multiasset_with_fee((uint8,bytes[]),uint256,uint256,(uint8,bytes[]),uint64)": "infinite", + "transfer_with_fee(address,uint256,uint256,(uint8,bytes[]),uint64)": "infinite", + "xtokens()": "infinite" + } + }, + "legacyAssembly": { + ".code": [ + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "80" + }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 3560, "end": 5151, "name": "MSTORE", "source": 0 }, + { + "begin": 3698, + "end": 3740, + "name": "PUSH", + "source": 0, + "value": "804" + }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 3665, "end": 3741, "name": "DUP1", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "100" + }, + { "begin": 3665, "end": 3741, "name": "EXP", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "DUP2", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SLOAD", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "DUP2", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 3665, "end": 3741, "name": "MUL", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "NOT", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "AND", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SWAP1", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "DUP4", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 3665, "end": 3741, "name": "AND", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "MUL", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "OR", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SWAP1", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SSTORE", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "POP", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "CALLVALUE", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "ISZERO", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [tag]", + "source": 0, + "value": "1" + }, + { "begin": 3560, "end": 5151, "name": "JUMPI", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "REVERT", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "tag", + "source": 0, + "value": "1" + }, + { "begin": 3560, "end": 5151, "name": "JUMPDEST", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "POP", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH #[$]", + "source": 0, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [$]", + "source": 0, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 3560, "end": 5151, "name": "CODECOPY", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 3560, "end": 5151, "name": "RETURN", "source": 0 } + ], + ".data": { + "0": { + ".auxdata": "a2646970667358221220b24a0202511e20cccc8541601dc2b5ae2c631e77b614484a53c260036f97e79d64736f6c634300080a0033", + ".code": [ + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "80" + }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 3560, "end": 5151, "name": "MSTORE", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "CALLVALUE", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "ISZERO", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [tag]", + "source": 0, + "value": "1" + }, + { "begin": 3560, "end": 5151, "name": "JUMPI", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "REVERT", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "tag", + "source": 0, + "value": "1" + }, + { "begin": 3560, "end": 5151, "name": "JUMPDEST", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "POP", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { + "begin": 3560, + "end": 5151, + "name": "CALLDATASIZE", + "source": 0 + }, + { "begin": 3560, "end": 5151, "name": "LT", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [tag]", + "source": 0, + "value": "2" + }, + { "begin": 3560, "end": 5151, "name": "JUMPI", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { + "begin": 3560, + "end": 5151, + "name": "CALLDATALOAD", + "source": 0 + }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "E0" + }, + { "begin": 3560, "end": 5151, "name": "SHR", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "89A570FC" + }, + { "begin": 3560, "end": 5151, "name": "EQ", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [tag]", + "source": 0, + "value": "3" + }, + { "begin": 3560, "end": 5151, "name": "JUMPI", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "94F69115" + }, + { "begin": 3560, "end": 5151, "name": "EQ", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [tag]", + "source": 0, + "value": "4" + }, + { "begin": 3560, "end": 5151, "name": "JUMPI", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "AF3DCEE8" + }, + { "begin": 3560, "end": 5151, "name": "EQ", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [tag]", + "source": 0, + "value": "5" + }, + { "begin": 3560, "end": 5151, "name": "JUMPI", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "B38C60FA" + }, + { "begin": 3560, "end": 5151, "name": "EQ", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [tag]", + "source": 0, + "value": "6" + }, + { "begin": 3560, "end": 5151, "name": "JUMPI", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "B9F813FF" + }, + { "begin": 3560, "end": 5151, "name": "EQ", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH [tag]", + "source": 0, + "value": "7" + }, + { "begin": 3560, "end": 5151, "name": "JUMPI", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "tag", + "source": 0, + "value": "2" + }, + { "begin": 3560, "end": 5151, "name": "JUMPDEST", "source": 0 }, + { + "begin": 3560, + "end": 5151, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 3560, "end": 5151, "name": "DUP1", "source": 0 }, + { "begin": 3560, "end": 5151, "name": "REVERT", "source": 0 }, + { + "begin": 4811, + "end": 5145, + "name": "tag", + "source": 0, + "value": "3" + }, + { "begin": 4811, "end": 5145, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4811, + "end": 5145, + "name": "PUSH [tag]", + "source": 0, + "value": "8" + }, + { + "begin": 4811, + "end": 5145, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 4811, "end": 5145, "name": "DUP1", "source": 0 }, + { + "begin": 4811, + "end": 5145, + "name": "CALLDATASIZE", + "source": 0 + }, + { "begin": 4811, "end": 5145, "name": "SUB", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "DUP2", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "ADD", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "SWAP1", "source": 0 }, + { + "begin": 4811, + "end": 5145, + "name": "PUSH [tag]", + "source": 0, + "value": "9" + }, + { "begin": 4811, "end": 5145, "name": "SWAP2", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "SWAP1", "source": 0 }, + { + "begin": 4811, + "end": 5145, + "name": "PUSH [tag]", + "source": 0, + "value": "10" + }, + { + "begin": 4811, + "end": 5145, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4811, + "end": 5145, + "name": "tag", + "source": 0, + "value": "9" + }, + { "begin": 4811, "end": 5145, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4811, + "end": 5145, + "name": "PUSH [tag]", + "source": 0, + "value": "11" + }, + { + "begin": 4811, + "end": 5145, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4811, + "end": 5145, + "name": "tag", + "source": 0, + "value": "8" + }, + { "begin": 4811, "end": 5145, "name": "JUMPDEST", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "STOP", "source": 0 }, + { + "begin": 4110, + "end": 4507, + "name": "tag", + "source": 0, + "value": "4" + }, + { "begin": 4110, "end": 4507, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4110, + "end": 4507, + "name": "PUSH [tag]", + "source": 0, + "value": "12" + }, + { + "begin": 4110, + "end": 4507, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 4110, "end": 4507, "name": "DUP1", "source": 0 }, + { + "begin": 4110, + "end": 4507, + "name": "CALLDATASIZE", + "source": 0 + }, + { "begin": 4110, "end": 4507, "name": "SUB", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "DUP2", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "ADD", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "SWAP1", "source": 0 }, + { + "begin": 4110, + "end": 4507, + "name": "PUSH [tag]", + "source": 0, + "value": "13" + }, + { "begin": 4110, "end": 4507, "name": "SWAP2", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "SWAP1", "source": 0 }, + { + "begin": 4110, + "end": 4507, + "name": "PUSH [tag]", + "source": 0, + "value": "14" + }, + { + "begin": 4110, + "end": 4507, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4110, + "end": 4507, + "name": "tag", + "source": 0, + "value": "13" + }, + { "begin": 4110, "end": 4507, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4110, + "end": 4507, + "name": "PUSH [tag]", + "source": 0, + "value": "15" + }, + { + "begin": 4110, + "end": 4507, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4110, + "end": 4507, + "name": "tag", + "source": 0, + "value": "12" + }, + { "begin": 4110, "end": 4507, "name": "JUMPDEST", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "STOP", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "tag", + "source": 0, + "value": "5" + }, + { "begin": 3665, "end": 3741, "name": "JUMPDEST", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH [tag]", + "source": 0, + "value": "16" + }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH [tag]", + "source": 0, + "value": "17" + }, + { + "begin": 3665, + "end": 3741, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 3665, + "end": 3741, + "name": "tag", + "source": 0, + "value": "16" + }, + { "begin": 3665, "end": 3741, "name": "JUMPDEST", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 3665, "end": 3741, "name": "MLOAD", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH [tag]", + "source": 0, + "value": "18" + }, + { "begin": 3665, "end": 3741, "name": "SWAP2", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SWAP1", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH [tag]", + "source": 0, + "value": "19" + }, + { + "begin": 3665, + "end": 3741, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 3665, + "end": 3741, + "name": "tag", + "source": 0, + "value": "18" + }, + { "begin": 3665, "end": 3741, "name": "JUMPDEST", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 3665, "end": 3741, "name": "MLOAD", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "DUP1", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SWAP2", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SUB", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SWAP1", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "RETURN", "source": 0 }, + { + "begin": 4516, + "end": 4802, + "name": "tag", + "source": 0, + "value": "6" + }, + { "begin": 4516, "end": 4802, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4516, + "end": 4802, + "name": "PUSH [tag]", + "source": 0, + "value": "20" + }, + { + "begin": 4516, + "end": 4802, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 4516, "end": 4802, "name": "DUP1", "source": 0 }, + { + "begin": 4516, + "end": 4802, + "name": "CALLDATASIZE", + "source": 0 + }, + { "begin": 4516, "end": 4802, "name": "SUB", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "DUP2", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "ADD", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "SWAP1", "source": 0 }, + { + "begin": 4516, + "end": 4802, + "name": "PUSH [tag]", + "source": 0, + "value": "21" + }, + { "begin": 4516, "end": 4802, "name": "SWAP2", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "SWAP1", "source": 0 }, + { + "begin": 4516, + "end": 4802, + "name": "PUSH [tag]", + "source": 0, + "value": "22" + }, + { + "begin": 4516, + "end": 4802, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4516, + "end": 4802, + "name": "tag", + "source": 0, + "value": "21" + }, + { "begin": 4516, "end": 4802, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4516, + "end": 4802, + "name": "PUSH [tag]", + "source": 0, + "value": "23" + }, + { + "begin": 4516, + "end": 4802, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4516, + "end": 4802, + "name": "tag", + "source": 0, + "value": "20" + }, + { "begin": 4516, "end": 4802, "name": "JUMPDEST", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "STOP", "source": 0 }, + { + "begin": 3752, + "end": 4101, + "name": "tag", + "source": 0, + "value": "7" + }, + { "begin": 3752, "end": 4101, "name": "JUMPDEST", "source": 0 }, + { + "begin": 3752, + "end": 4101, + "name": "PUSH [tag]", + "source": 0, + "value": "24" + }, + { + "begin": 3752, + "end": 4101, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 3752, "end": 4101, "name": "DUP1", "source": 0 }, + { + "begin": 3752, + "end": 4101, + "name": "CALLDATASIZE", + "source": 0 + }, + { "begin": 3752, "end": 4101, "name": "SUB", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "DUP2", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "ADD", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "SWAP1", "source": 0 }, + { + "begin": 3752, + "end": 4101, + "name": "PUSH [tag]", + "source": 0, + "value": "25" + }, + { "begin": 3752, "end": 4101, "name": "SWAP2", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "SWAP1", "source": 0 }, + { + "begin": 3752, + "end": 4101, + "name": "PUSH [tag]", + "source": 0, + "value": "26" + }, + { + "begin": 3752, + "end": 4101, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 3752, + "end": 4101, + "name": "tag", + "source": 0, + "value": "25" + }, + { "begin": 3752, "end": 4101, "name": "JUMPDEST", "source": 0 }, + { + "begin": 3752, + "end": 4101, + "name": "PUSH [tag]", + "source": 0, + "value": "27" + }, + { + "begin": 3752, + "end": 4101, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 3752, + "end": 4101, + "name": "tag", + "source": 0, + "value": "24" + }, + { "begin": 3752, "end": 4101, "name": "JUMPDEST", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "STOP", "source": 0 }, + { + "begin": 4811, + "end": 5145, + "name": "tag", + "source": 0, + "value": "11" + }, + { "begin": 4811, "end": 5145, "name": "JUMPDEST", "source": 0 }, + { + "begin": 5057, + "end": 5064, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 5057, "end": 5064, "name": "DUP1", "source": 0 }, + { "begin": 5057, "end": 5064, "name": "SLOAD", "source": 0 }, + { "begin": 5057, "end": 5064, "name": "SWAP1", "source": 0 }, + { + "begin": 5057, + "end": 5064, + "name": "PUSH", + "source": 0, + "value": "100" + }, + { "begin": 5057, "end": 5064, "name": "EXP", "source": 0 }, + { "begin": 5057, "end": 5064, "name": "SWAP1", "source": 0 }, + { "begin": 5057, "end": 5064, "name": "DIV", "source": 0 }, + { + "begin": 5057, + "end": 5064, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 5057, "end": 5064, "name": "AND", "source": 0 }, + { + "begin": 5057, + "end": 5093, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 5057, "end": 5093, "name": "AND", "source": 0 }, + { + "begin": 5057, + "end": 5093, + "name": "PUSH", + "source": 0, + "value": "89A570FC" + }, + { "begin": 5094, "end": 5099, "name": "DUP7", "source": 0 }, + { "begin": 5101, "end": 5107, "name": "DUP7", "source": 0 }, + { "begin": 5109, "end": 5112, "name": "DUP7", "source": 0 }, + { "begin": 5114, "end": 5125, "name": "DUP7", "source": 0 }, + { "begin": 5127, "end": 5133, "name": "DUP7", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 5057, "end": 5134, "name": "MLOAD", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "DUP7", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFF" + }, + { "begin": 5057, "end": 5134, "name": "AND", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "E0" + }, + { "begin": 5057, "end": 5134, "name": "SHL", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "DUP2", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "MSTORE", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 5057, "end": 5134, "name": "ADD", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH [tag]", + "source": 0, + "value": "29" + }, + { "begin": 5057, "end": 5134, "name": "SWAP6", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "SWAP5", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "SWAP4", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "SWAP3", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "SWAP2", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "SWAP1", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH [tag]", + "source": 0, + "value": "30" + }, + { + "begin": 5057, + "end": 5134, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 5057, + "end": 5134, + "name": "tag", + "source": 0, + "value": "29" + }, + { "begin": 5057, "end": 5134, "name": "JUMPDEST", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 5057, "end": 5134, "name": "MLOAD", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "DUP1", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "DUP4", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "SUB", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "DUP2", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 5057, "end": 5134, "name": "DUP8", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "DUP1", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "EXTCODESIZE", + "source": 0 + }, + { "begin": 5057, "end": 5134, "name": "ISZERO", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "DUP1", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "ISZERO", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH [tag]", + "source": 0, + "value": "31" + }, + { "begin": 5057, "end": 5134, "name": "JUMPI", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 5057, "end": 5134, "name": "DUP1", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "REVERT", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "tag", + "source": 0, + "value": "31" + }, + { "begin": 5057, "end": 5134, "name": "JUMPDEST", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "POP", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "GAS", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "CALL", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "ISZERO", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "DUP1", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "ISZERO", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH [tag]", + "source": 0, + "value": "33" + }, + { "begin": 5057, "end": 5134, "name": "JUMPI", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "RETURNDATASIZE", + "source": 0 + }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 5057, "end": 5134, "name": "DUP1", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "RETURNDATACOPY", + "source": 0 + }, + { + "begin": 5057, + "end": 5134, + "name": "RETURNDATASIZE", + "source": 0 + }, + { + "begin": 5057, + "end": 5134, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 5057, "end": 5134, "name": "REVERT", "source": 0 }, + { + "begin": 5057, + "end": 5134, + "name": "tag", + "source": 0, + "value": "33" + }, + { "begin": 5057, "end": 5134, "name": "JUMPDEST", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "POP", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "POP", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "POP", "source": 0 }, + { "begin": 5057, "end": 5134, "name": "POP", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "POP", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "POP", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "POP", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "POP", "source": 0 }, + { "begin": 4811, "end": 5145, "name": "POP", "source": 0 }, + { + "begin": 4811, + "end": 5145, + "name": "JUMP", + "source": 0, + "value": "[out]" + }, + { + "begin": 4110, + "end": 4507, + "name": "tag", + "source": 0, + "value": "15" + }, + { "begin": 4110, "end": 4507, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4419, + "end": 4426, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4419, "end": 4426, "name": "DUP1", "source": 0 }, + { "begin": 4419, "end": 4426, "name": "SLOAD", "source": 0 }, + { "begin": 4419, "end": 4426, "name": "SWAP1", "source": 0 }, + { + "begin": 4419, + "end": 4426, + "name": "PUSH", + "source": 0, + "value": "100" + }, + { "begin": 4419, "end": 4426, "name": "EXP", "source": 0 }, + { "begin": 4419, "end": 4426, "name": "SWAP1", "source": 0 }, + { "begin": 4419, "end": 4426, "name": "DIV", "source": 0 }, + { + "begin": 4419, + "end": 4426, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 4419, "end": 4426, "name": "AND", "source": 0 }, + { + "begin": 4419, + "end": 4444, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 4419, "end": 4444, "name": "AND", "source": 0 }, + { + "begin": 4419, + "end": 4444, + "name": "PUSH", + "source": 0, + "value": "94F69115" + }, + { "begin": 4445, "end": 4461, "name": "DUP7", "source": 0 }, + { "begin": 4463, "end": 4469, "name": "DUP7", "source": 0 }, + { "begin": 4471, "end": 4474, "name": "DUP7", "source": 0 }, + { "begin": 4476, "end": 4487, "name": "DUP7", "source": 0 }, + { "begin": 4489, "end": 4495, "name": "DUP7", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 4419, "end": 4496, "name": "MLOAD", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "DUP7", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFF" + }, + { "begin": 4419, "end": 4496, "name": "AND", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "E0" + }, + { "begin": 4419, "end": 4496, "name": "SHL", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "DUP2", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "MSTORE", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 4419, "end": 4496, "name": "ADD", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH [tag]", + "source": 0, + "value": "35" + }, + { "begin": 4419, "end": 4496, "name": "SWAP6", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "SWAP5", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "SWAP4", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "SWAP3", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "SWAP2", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "SWAP1", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH [tag]", + "source": 0, + "value": "36" + }, + { + "begin": 4419, + "end": 4496, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4419, + "end": 4496, + "name": "tag", + "source": 0, + "value": "35" + }, + { "begin": 4419, "end": 4496, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 4419, "end": 4496, "name": "MLOAD", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "DUP1", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "DUP4", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "SUB", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "DUP2", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4419, "end": 4496, "name": "DUP8", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "DUP1", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "EXTCODESIZE", + "source": 0 + }, + { "begin": 4419, "end": 4496, "name": "ISZERO", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "DUP1", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "ISZERO", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH [tag]", + "source": 0, + "value": "37" + }, + { "begin": 4419, "end": 4496, "name": "JUMPI", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4419, "end": 4496, "name": "DUP1", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "REVERT", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "tag", + "source": 0, + "value": "37" + }, + { "begin": 4419, "end": 4496, "name": "JUMPDEST", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "POP", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "GAS", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "CALL", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "ISZERO", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "DUP1", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "ISZERO", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH [tag]", + "source": 0, + "value": "39" + }, + { "begin": 4419, "end": 4496, "name": "JUMPI", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "RETURNDATASIZE", + "source": 0 + }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4419, "end": 4496, "name": "DUP1", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "RETURNDATACOPY", + "source": 0 + }, + { + "begin": 4419, + "end": 4496, + "name": "RETURNDATASIZE", + "source": 0 + }, + { + "begin": 4419, + "end": 4496, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4419, "end": 4496, "name": "REVERT", "source": 0 }, + { + "begin": 4419, + "end": 4496, + "name": "tag", + "source": 0, + "value": "39" + }, + { "begin": 4419, "end": 4496, "name": "JUMPDEST", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "POP", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "POP", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "POP", "source": 0 }, + { "begin": 4419, "end": 4496, "name": "POP", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "POP", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "POP", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "POP", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "POP", "source": 0 }, + { "begin": 4110, "end": 4507, "name": "POP", "source": 0 }, + { + "begin": 4110, + "end": 4507, + "name": "JUMP", + "source": 0, + "value": "[out]" + }, + { + "begin": 3665, + "end": 3741, + "name": "tag", + "source": 0, + "value": "17" + }, + { "begin": 3665, "end": 3741, "name": "JUMPDEST", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 3665, "end": 3741, "name": "DUP1", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SLOAD", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SWAP1", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "100" + }, + { "begin": 3665, "end": 3741, "name": "EXP", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "SWAP1", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "DIV", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 3665, "end": 3741, "name": "AND", "source": 0 }, + { "begin": 3665, "end": 3741, "name": "DUP2", "source": 0 }, + { + "begin": 3665, + "end": 3741, + "name": "JUMP", + "source": 0, + "value": "[out]" + }, + { + "begin": 4516, + "end": 4802, + "name": "tag", + "source": 0, + "value": "23" + }, + { "begin": 4516, "end": 4802, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4728, + "end": 4735, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4728, "end": 4735, "name": "DUP1", "source": 0 }, + { "begin": 4728, "end": 4735, "name": "SLOAD", "source": 0 }, + { "begin": 4728, "end": 4735, "name": "SWAP1", "source": 0 }, + { + "begin": 4728, + "end": 4735, + "name": "PUSH", + "source": 0, + "value": "100" + }, + { "begin": 4728, "end": 4735, "name": "EXP", "source": 0 }, + { "begin": 4728, "end": 4735, "name": "SWAP1", "source": 0 }, + { "begin": 4728, "end": 4735, "name": "DIV", "source": 0 }, + { + "begin": 4728, + "end": 4735, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 4728, "end": 4735, "name": "AND", "source": 0 }, + { + "begin": 4728, + "end": 4755, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 4728, "end": 4755, "name": "AND", "source": 0 }, + { + "begin": 4728, + "end": 4755, + "name": "PUSH", + "source": 0, + "value": "B38C60FA" + }, + { "begin": 4756, "end": 4761, "name": "DUP6", "source": 0 }, + { "begin": 4763, "end": 4769, "name": "DUP6", "source": 0 }, + { "begin": 4771, "end": 4782, "name": "DUP6", "source": 0 }, + { "begin": 4784, "end": 4790, "name": "DUP6", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 4728, "end": 4791, "name": "MLOAD", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "DUP6", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFF" + }, + { "begin": 4728, "end": 4791, "name": "AND", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "E0" + }, + { "begin": 4728, "end": 4791, "name": "SHL", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "DUP2", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "MSTORE", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 4728, "end": 4791, "name": "ADD", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH [tag]", + "source": 0, + "value": "41" + }, + { "begin": 4728, "end": 4791, "name": "SWAP5", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "SWAP4", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "SWAP3", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "SWAP2", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "SWAP1", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH [tag]", + "source": 0, + "value": "42" + }, + { + "begin": 4728, + "end": 4791, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4728, + "end": 4791, + "name": "tag", + "source": 0, + "value": "41" + }, + { "begin": 4728, "end": 4791, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 4728, "end": 4791, "name": "MLOAD", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "DUP1", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "DUP4", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "SUB", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "DUP2", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4728, "end": 4791, "name": "DUP8", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "DUP1", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "EXTCODESIZE", + "source": 0 + }, + { "begin": 4728, "end": 4791, "name": "ISZERO", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "DUP1", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "ISZERO", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH [tag]", + "source": 0, + "value": "43" + }, + { "begin": 4728, "end": 4791, "name": "JUMPI", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4728, "end": 4791, "name": "DUP1", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "REVERT", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "tag", + "source": 0, + "value": "43" + }, + { "begin": 4728, "end": 4791, "name": "JUMPDEST", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "POP", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "GAS", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "CALL", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "ISZERO", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "DUP1", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "ISZERO", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH [tag]", + "source": 0, + "value": "45" + }, + { "begin": 4728, "end": 4791, "name": "JUMPI", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "RETURNDATASIZE", + "source": 0 + }, { - "begin": 2038, - "end": 2880, + "begin": 4728, + "end": 4791, "name": "PUSH", "source": 0, - "value": "80" + "value": "0" + }, + { "begin": 4728, "end": 4791, "name": "DUP1", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "RETURNDATACOPY", + "source": 0 + }, + { + "begin": 4728, + "end": 4791, + "name": "RETURNDATASIZE", + "source": 0 + }, + { + "begin": 4728, + "end": 4791, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4728, "end": 4791, "name": "REVERT", "source": 0 }, + { + "begin": 4728, + "end": 4791, + "name": "tag", + "source": 0, + "value": "45" + }, + { "begin": 4728, "end": 4791, "name": "JUMPDEST", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "POP", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "POP", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "POP", "source": 0 }, + { "begin": 4728, "end": 4791, "name": "POP", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "POP", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "POP", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "POP", "source": 0 }, + { "begin": 4516, "end": 4802, "name": "POP", "source": 0 }, + { + "begin": 4516, + "end": 4802, + "name": "JUMP", + "source": 0, + "value": "[out]" + }, + { + "begin": 3752, + "end": 4101, + "name": "tag", + "source": 0, + "value": "27" + }, + { "begin": 3752, "end": 4101, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4027, + "end": 4034, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4027, "end": 4034, "name": "DUP1", "source": 0 }, + { "begin": 4027, "end": 4034, "name": "SLOAD", "source": 0 }, + { "begin": 4027, "end": 4034, "name": "SWAP1", "source": 0 }, + { + "begin": 4027, + "end": 4034, + "name": "PUSH", + "source": 0, + "value": "100" + }, + { "begin": 4027, "end": 4034, "name": "EXP", "source": 0 }, + { "begin": 4027, "end": 4034, "name": "SWAP1", "source": 0 }, + { "begin": 4027, "end": 4034, "name": "DIV", "source": 0 }, + { + "begin": 4027, + "end": 4034, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 4027, "end": 4034, "name": "AND", "source": 0 }, + { + "begin": 4027, + "end": 4043, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { "begin": 4027, "end": 4043, "name": "AND", "source": 0 }, + { + "begin": 4027, + "end": 4043, + "name": "PUSH", + "source": 0, + "value": "B9F813FF" + }, + { "begin": 4044, "end": 4060, "name": "DUP6", "source": 0 }, + { "begin": 4062, "end": 4068, "name": "DUP6", "source": 0 }, + { "begin": 4070, "end": 4081, "name": "DUP6", "source": 0 }, + { "begin": 4083, "end": 4089, "name": "DUP6", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 4027, "end": 4090, "name": "MLOAD", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP6", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH", + "source": 0, + "value": "FFFFFFFF" + }, + { "begin": 4027, "end": 4090, "name": "AND", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH", + "source": 0, + "value": "E0" + }, + { "begin": 4027, "end": 4090, "name": "SHL", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP2", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "MSTORE", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 4027, "end": 4090, "name": "ADD", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH [tag]", + "source": 0, + "value": "47" + }, + { "begin": 4027, "end": 4090, "name": "SWAP5", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "SWAP4", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "SWAP3", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "SWAP2", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "SWAP1", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH [tag]", + "source": 0, + "value": "48" + }, + { + "begin": 4027, + "end": 4090, + "name": "JUMP", + "source": 0, + "value": "[in]" + }, + { + "begin": 4027, + "end": 4090, + "name": "tag", + "source": 0, + "value": "47" + }, + { "begin": 4027, "end": 4090, "name": "JUMPDEST", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH", + "source": 0, + "value": "0" }, { - "begin": 2038, - "end": 2880, + "begin": 4027, + "end": 4090, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 2038, "end": 2880, "name": "MSTORE", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "CALLVALUE", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "ISZERO", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "MLOAD", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP1", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP4", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "SUB", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP2", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4027, "end": 4090, "name": "DUP8", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP1", "source": 0 }, { - "begin": 2038, - "end": 2880, + "begin": 4027, + "end": 4090, + "name": "EXTCODESIZE", + "source": 0 + }, + { "begin": 4027, "end": 4090, "name": "ISZERO", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP1", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "ISZERO", "source": 0 }, + { + "begin": 4027, + "end": 4090, "name": "PUSH [tag]", "source": 0, - "value": "1" + "value": "49" }, - { "begin": 2038, "end": 2880, "name": "JUMPI", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "JUMPI", "source": 0 }, { - "begin": 2038, - "end": 2880, + "begin": 4027, + "end": 4090, "name": "PUSH", "source": 0, "value": "0" }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "REVERT", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP1", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "REVERT", "source": 0 }, { - "begin": 2038, - "end": 2880, + "begin": 4027, + "end": 4090, "name": "tag", "source": 0, - "value": "1" + "value": "49" + }, + { "begin": 4027, "end": 4090, "name": "JUMPDEST", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "POP", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "GAS", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "CALL", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "ISZERO", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "DUP1", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "ISZERO", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH [tag]", + "source": 0, + "value": "51" + }, + { "begin": 4027, "end": 4090, "name": "JUMPI", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "RETURNDATASIZE", + "source": 0 + }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4027, "end": 4090, "name": "DUP1", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "RETURNDATACOPY", + "source": 0 + }, + { + "begin": 4027, + "end": 4090, + "name": "RETURNDATASIZE", + "source": 0 + }, + { + "begin": 4027, + "end": 4090, + "name": "PUSH", + "source": 0, + "value": "0" + }, + { "begin": 4027, "end": 4090, "name": "REVERT", "source": 0 }, + { + "begin": 4027, + "end": 4090, + "name": "tag", + "source": 0, + "value": "51" + }, + { "begin": 4027, "end": 4090, "name": "JUMPDEST", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "POP", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "POP", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "POP", "source": 0 }, + { "begin": 4027, "end": 4090, "name": "POP", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "POP", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "POP", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "POP", "source": 0 }, + { "begin": 3752, "end": 4101, "name": "POP", "source": 0 }, + { + "begin": 3752, + "end": 4101, + "name": "JUMP", + "source": 0, + "value": "[out]" + }, + { + "begin": 7, + "end": 82, + "name": "tag", + "source": 1, + "value": "52" + }, + { "begin": 7, "end": 82, "name": "JUMPDEST", "source": 1 }, + { + "begin": 40, + "end": 46, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { + "begin": 73, + "end": 75, + "name": "PUSH", + "source": 1, + "value": "40" + }, + { "begin": 67, "end": 76, "name": "MLOAD", "source": 1 }, + { "begin": 57, "end": 76, "name": "SWAP1", "source": 1 }, + { "begin": 57, "end": 76, "name": "POP", "source": 1 }, + { "begin": 7, "end": 82, "name": "SWAP1", "source": 1 }, + { + "begin": 7, + "end": 82, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 88, + "end": 205, + "name": "tag", + "source": 1, + "value": "53" + }, + { "begin": 88, "end": 205, "name": "JUMPDEST", "source": 1 }, + { + "begin": 197, + "end": 198, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { "begin": 194, "end": 195, "name": "DUP1", "source": 1 }, + { "begin": 187, "end": 199, "name": "REVERT", "source": 1 }, + { + "begin": 211, + "end": 328, + "name": "tag", + "source": 1, + "value": "54" + }, + { "begin": 211, "end": 328, "name": "JUMPDEST", "source": 1 }, + { + "begin": 320, + "end": 321, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { "begin": 317, "end": 318, "name": "DUP1", "source": 1 }, + { "begin": 310, "end": 322, "name": "REVERT", "source": 1 }, + { + "begin": 334, + "end": 451, + "name": "tag", + "source": 1, + "value": "55" + }, + { "begin": 334, "end": 451, "name": "JUMPDEST", "source": 1 }, + { + "begin": 443, + "end": 444, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { "begin": 440, "end": 441, "name": "DUP1", "source": 1 }, + { "begin": 433, "end": 445, "name": "REVERT", "source": 1 }, + { + "begin": 457, + "end": 559, + "name": "tag", + "source": 1, + "value": "56" + }, + { "begin": 457, "end": 559, "name": "JUMPDEST", "source": 1 }, + { + "begin": 498, + "end": 504, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { + "begin": 549, + "end": 551, + "name": "PUSH", + "source": 1, + "value": "1F" + }, + { "begin": 545, "end": 552, "name": "NOT", "source": 1 }, + { + "begin": 540, + "end": 542, + "name": "PUSH", + "source": 1, + "value": "1F" + }, + { "begin": 533, "end": 538, "name": "DUP4", "source": 1 }, + { "begin": 529, "end": 543, "name": "ADD", "source": 1 }, + { "begin": 525, "end": 553, "name": "AND", "source": 1 }, + { "begin": 515, "end": 553, "name": "SWAP1", "source": 1 }, + { "begin": 515, "end": 553, "name": "POP", "source": 1 }, + { "begin": 457, "end": 559, "name": "SWAP2", "source": 1 }, + { "begin": 457, "end": 559, "name": "SWAP1", "source": 1 }, + { "begin": 457, "end": 559, "name": "POP", "source": 1 }, + { + "begin": 457, + "end": 559, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 565, + "end": 745, + "name": "tag", + "source": 1, + "value": "57" + }, + { "begin": 565, "end": 745, "name": "JUMPDEST", "source": 1 }, + { + "begin": 613, + "end": 690, + "name": "PUSH", + "source": 1, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 610, + "end": 611, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { "begin": 603, "end": 691, "name": "MSTORE", "source": 1 }, + { + "begin": 710, + "end": 714, + "name": "PUSH", + "source": 1, + "value": "41" + }, + { + "begin": 707, + "end": 708, + "name": "PUSH", + "source": 1, + "value": "4" + }, + { "begin": 700, "end": 715, "name": "MSTORE", "source": 1 }, + { + "begin": 734, + "end": 738, + "name": "PUSH", + "source": 1, + "value": "24" }, - { "begin": 2038, "end": 2880, "name": "JUMPDEST", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "POP", "source": 0 }, { - "begin": 2038, - "end": 2880, + "begin": 731, + "end": 732, "name": "PUSH", - "source": 0, - "value": "4" + "source": 1, + "value": "0" }, + { "begin": 724, "end": 739, "name": "REVERT", "source": 1 }, { - "begin": 2038, - "end": 2880, - "name": "CALLDATASIZE", - "source": 0 + "begin": 751, + "end": 1032, + "name": "tag", + "source": 1, + "value": "58" }, - { "begin": 2038, "end": 2880, "name": "LT", "source": 0 }, + { "begin": 751, "end": 1032, "name": "JUMPDEST", "source": 1 }, { - "begin": 2038, - "end": 2880, + "begin": 834, + "end": 861, "name": "PUSH [tag]", - "source": 0, - "value": "2" + "source": 1, + "value": "113" }, - { "begin": 2038, "end": 2880, "name": "JUMPI", "source": 0 }, + { "begin": 856, "end": 860, "name": "DUP3", "source": 1 }, { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "0" + "begin": 834, + "end": 861, + "name": "PUSH [tag]", + "source": 1, + "value": "56" }, { - "begin": 2038, - "end": 2880, - "name": "CALLDATALOAD", - "source": 0 + "begin": 834, + "end": 861, + "name": "JUMP", + "source": 1, + "value": "[in]" }, { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "E0" + "begin": 834, + "end": 861, + "name": "tag", + "source": 1, + "value": "113" }, - { "begin": 2038, "end": 2880, "name": "SHR", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, + { "begin": 834, "end": 861, "name": "JUMPDEST", "source": 1 }, + { "begin": 826, "end": 832, "name": "DUP2", "source": 1 }, + { "begin": 822, "end": 862, "name": "ADD", "source": 1 }, + { "begin": 964, "end": 970, "name": "DUP2", "source": 1 }, + { "begin": 952, "end": 962, "name": "DUP2", "source": 1 }, + { "begin": 949, "end": 971, "name": "LT", "source": 1 }, { - "begin": 2038, - "end": 2880, + "begin": 928, + "end": 946, "name": "PUSH", - "source": 0, - "value": "AF3DCEE8" + "source": 1, + "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 2038, "end": 2880, "name": "EQ", "source": 0 }, + { "begin": 916, "end": 926, "name": "DUP3", "source": 1 }, + { "begin": 913, "end": 947, "name": "GT", "source": 1 }, + { "begin": 910, "end": 972, "name": "OR", "source": 1 }, + { "begin": 907, "end": 995, "name": "ISZERO", "source": 1 }, { - "begin": 2038, - "end": 2880, + "begin": 907, + "end": 995, "name": "PUSH [tag]", - "source": 0, - "value": "3" + "source": 1, + "value": "114" }, - { "begin": 2038, "end": 2880, "name": "JUMPI", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, + { "begin": 907, "end": 995, "name": "JUMPI", "source": 1 }, { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "B38C60FA" + "begin": 975, + "end": 993, + "name": "PUSH [tag]", + "source": 1, + "value": "115" }, - { "begin": 2038, "end": 2880, "name": "EQ", "source": 0 }, { - "begin": 2038, - "end": 2880, + "begin": 975, + "end": 993, "name": "PUSH [tag]", - "source": 0, - "value": "4" + "source": 1, + "value": "57" }, - { "begin": 2038, "end": 2880, "name": "JUMPI", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, { - "begin": 2038, - "end": 2880, - "name": "PUSH", - "source": 0, - "value": "B9F813FF" + "begin": 975, + "end": 993, + "name": "JUMP", + "source": 1, + "value": "[in]" }, - { "begin": 2038, "end": 2880, "name": "EQ", "source": 0 }, { - "begin": 2038, - "end": 2880, - "name": "PUSH [tag]", - "source": 0, - "value": "5" + "begin": 975, + "end": 993, + "name": "tag", + "source": 1, + "value": "115" }, - { "begin": 2038, "end": 2880, "name": "JUMPI", "source": 0 }, + { "begin": 975, "end": 993, "name": "JUMPDEST", "source": 1 }, { - "begin": 2038, - "end": 2880, + "begin": 907, + "end": 995, "name": "tag", - "source": 0, - "value": "2" + "source": 1, + "value": "114" }, - { "begin": 2038, "end": 2880, "name": "JUMPDEST", "source": 0 }, + { "begin": 907, "end": 995, "name": "JUMPDEST", "source": 1 }, + { "begin": 1015, "end": 1025, "name": "DUP1", "source": 1 }, { - "begin": 2038, - "end": 2880, + "begin": 1011, + "end": 1013, "name": "PUSH", - "source": 0, - "value": "0" + "source": 1, + "value": "40" }, - { "begin": 2038, "end": 2880, "name": "DUP1", "source": 0 }, - { "begin": 2038, "end": 2880, "name": "REVERT", "source": 0 }, + { "begin": 1004, "end": 1026, "name": "MSTORE", "source": 1 }, + { "begin": 794, "end": 1032, "name": "POP", "source": 1 }, + { "begin": 751, "end": 1032, "name": "POP", "source": 1 }, + { "begin": 751, "end": 1032, "name": "POP", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 751, + "end": 1032, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 1038, + "end": 1167, "name": "tag", - "source": 0, - "value": "3" + "source": 1, + "value": "59" }, - { "begin": 2143, "end": 2219, "name": "JUMPDEST", "source": 0 }, + { "begin": 1038, "end": 1167, "name": "JUMPDEST", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 1072, + "end": 1078, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { + "begin": 1099, + "end": 1119, "name": "PUSH [tag]", - "source": 0, - "value": "6" + "source": 1, + "value": "117" }, { - "begin": 2143, - "end": 2219, + "begin": 1099, + "end": 1119, "name": "PUSH [tag]", - "source": 0, - "value": "7" + "source": 1, + "value": "52" }, { - "begin": 2143, - "end": 2219, + "begin": 1099, + "end": 1119, "name": "JUMP", - "source": 0, + "source": 1, "value": "[in]" }, { - "begin": 2143, - "end": 2219, + "begin": 1099, + "end": 1119, "name": "tag", - "source": 0, - "value": "6" - }, - { "begin": 2143, "end": 2219, "name": "JUMPDEST", "source": 0 }, - { - "begin": 2143, - "end": 2219, - "name": "PUSH", - "source": 0, - "value": "40" + "source": 1, + "value": "117" }, - { "begin": 2143, "end": 2219, "name": "MLOAD", "source": 0 }, + { "begin": 1099, "end": 1119, "name": "JUMPDEST", "source": 1 }, + { "begin": 1089, "end": 1119, "name": "SWAP1", "source": 1 }, + { "begin": 1089, "end": 1119, "name": "POP", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 1128, + "end": 1161, "name": "PUSH [tag]", - "source": 0, - "value": "8" + "source": 1, + "value": "118" }, - { "begin": 2143, "end": 2219, "name": "SWAP2", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SWAP1", "source": 0 }, + { "begin": 1156, "end": 1160, "name": "DUP3", "source": 1 }, + { "begin": 1148, "end": 1154, "name": "DUP3", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 1128, + "end": 1161, "name": "PUSH [tag]", - "source": 0, - "value": "9" + "source": 1, + "value": "58" }, { - "begin": 2143, - "end": 2219, + "begin": 1128, + "end": 1161, "name": "JUMP", - "source": 0, + "source": 1, "value": "[in]" }, { - "begin": 2143, - "end": 2219, + "begin": 1128, + "end": 1161, "name": "tag", - "source": 0, - "value": "8" + "source": 1, + "value": "118" }, - { "begin": 2143, "end": 2219, "name": "JUMPDEST", "source": 0 }, + { "begin": 1128, "end": 1161, "name": "JUMPDEST", "source": 1 }, + { "begin": 1038, "end": 1167, "name": "SWAP2", "source": 1 }, + { "begin": 1038, "end": 1167, "name": "SWAP1", "source": 1 }, + { "begin": 1038, "end": 1167, "name": "POP", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 1038, + "end": 1167, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 1173, + "end": 1290, + "name": "tag", + "source": 1, + "value": "60" + }, + { "begin": 1173, "end": 1290, "name": "JUMPDEST", "source": 1 }, + { + "begin": 1282, + "end": 1283, "name": "PUSH", - "source": 0, - "value": "40" + "source": 1, + "value": "0" }, - { "begin": 2143, "end": 2219, "name": "MLOAD", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "DUP1", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SWAP2", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SUB", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SWAP1", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "RETURN", "source": 0 }, + { "begin": 1279, "end": 1280, "name": "DUP1", "source": 1 }, + { "begin": 1272, "end": 1284, "name": "REVERT", "source": 1 }, { - "begin": 2588, - "end": 2874, + "begin": 1296, + "end": 1382, "name": "tag", - "source": 0, - "value": "4" + "source": 1, + "value": "61" }, - { "begin": 2588, "end": 2874, "name": "JUMPDEST", "source": 0 }, + { "begin": 1296, "end": 1382, "name": "JUMPDEST", "source": 1 }, { - "begin": 2588, - "end": 2874, - "name": "PUSH [tag]", - "source": 0, - "value": "10" + "begin": 1331, + "end": 1338, + "name": "PUSH", + "source": 1, + "value": "0" }, { - "begin": 2588, - "end": 2874, + "begin": 1371, + "end": 1375, "name": "PUSH", - "source": 0, - "value": "4" + "source": 1, + "value": "FF" }, - { "begin": 2588, "end": 2874, "name": "DUP1", "source": 0 }, + { "begin": 1364, "end": 1369, "name": "DUP3", "source": 1 }, + { "begin": 1360, "end": 1376, "name": "AND", "source": 1 }, + { "begin": 1349, "end": 1376, "name": "SWAP1", "source": 1 }, + { "begin": 1349, "end": 1376, "name": "POP", "source": 1 }, + { "begin": 1296, "end": 1382, "name": "SWAP2", "source": 1 }, + { "begin": 1296, "end": 1382, "name": "SWAP1", "source": 1 }, + { "begin": 1296, "end": 1382, "name": "POP", "source": 1 }, { - "begin": 2588, - "end": 2874, - "name": "CALLDATASIZE", - "source": 0 + "begin": 1296, + "end": 1382, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 1388, + "end": 1506, + "name": "tag", + "source": 1, + "value": "62" }, - { "begin": 2588, "end": 2874, "name": "SUB", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "DUP2", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "ADD", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "SWAP1", "source": 0 }, + { "begin": 1388, "end": 1506, "name": "JUMPDEST", "source": 1 }, { - "begin": 2588, - "end": 2874, + "begin": 1459, + "end": 1481, "name": "PUSH [tag]", - "source": 0, - "value": "11" + "source": 1, + "value": "122" }, - { "begin": 2588, "end": 2874, "name": "SWAP2", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "SWAP1", "source": 0 }, + { "begin": 1475, "end": 1480, "name": "DUP2", "source": 1 }, { - "begin": 2588, - "end": 2874, + "begin": 1459, + "end": 1481, "name": "PUSH [tag]", - "source": 0, - "value": "12" + "source": 1, + "value": "61" }, { - "begin": 2588, - "end": 2874, + "begin": 1459, + "end": 1481, "name": "JUMP", - "source": 0, + "source": 1, "value": "[in]" }, { - "begin": 2588, - "end": 2874, + "begin": 1459, + "end": 1481, "name": "tag", - "source": 0, - "value": "11" + "source": 1, + "value": "122" }, - { "begin": 2588, "end": 2874, "name": "JUMPDEST", "source": 0 }, + { "begin": 1459, "end": 1481, "name": "JUMPDEST", "source": 1 }, + { "begin": 1452, "end": 1457, "name": "DUP2", "source": 1 }, + { "begin": 1449, "end": 1482, "name": "EQ", "source": 1 }, { - "begin": 2588, - "end": 2874, + "begin": 1439, + "end": 1500, "name": "PUSH [tag]", - "source": 0, - "value": "13" + "source": 1, + "value": "123" }, + { "begin": 1439, "end": 1500, "name": "JUMPI", "source": 1 }, { - "begin": 2588, - "end": 2874, - "name": "JUMP", - "source": 0, - "value": "[in]" + "begin": 1496, + "end": 1497, + "name": "PUSH", + "source": 1, + "value": "0" }, + { "begin": 1493, "end": 1494, "name": "DUP1", "source": 1 }, + { "begin": 1486, "end": 1498, "name": "REVERT", "source": 1 }, { - "begin": 2588, - "end": 2874, + "begin": 1439, + "end": 1500, "name": "tag", - "source": 0, - "value": "10" + "source": 1, + "value": "123" }, - { "begin": 2588, "end": 2874, "name": "JUMPDEST", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "STOP", "source": 0 }, + { "begin": 1439, "end": 1500, "name": "JUMPDEST", "source": 1 }, + { "begin": 1388, "end": 1506, "name": "POP", "source": 1 }, { - "begin": 2230, - "end": 2579, - "name": "tag", - "source": 0, - "value": "5" + "begin": 1388, + "end": 1506, + "name": "JUMP", + "source": 1, + "value": "[out]" }, - { "begin": 2230, "end": 2579, "name": "JUMPDEST", "source": 0 }, { - "begin": 2230, - "end": 2579, - "name": "PUSH [tag]", - "source": 0, - "value": "14" + "begin": 1512, + "end": 1647, + "name": "tag", + "source": 1, + "value": "63" }, + { "begin": 1512, "end": 1647, "name": "JUMPDEST", "source": 1 }, { - "begin": 2230, - "end": 2579, + "begin": 1556, + "end": 1561, "name": "PUSH", - "source": 0, - "value": "4" + "source": 1, + "value": "0" }, - { "begin": 2230, "end": 2579, "name": "DUP1", "source": 0 }, + { "begin": 1594, "end": 1600, "name": "DUP2", "source": 1 }, { - "begin": 2230, - "end": 2579, - "name": "CALLDATASIZE", - "source": 0 + "begin": 1581, + "end": 1601, + "name": "CALLDATALOAD", + "source": 1 }, - { "begin": 2230, "end": 2579, "name": "SUB", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "DUP2", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "ADD", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "SWAP1", "source": 0 }, + { "begin": 1572, "end": 1601, "name": "SWAP1", "source": 1 }, + { "begin": 1572, "end": 1601, "name": "POP", "source": 1 }, { - "begin": 2230, - "end": 2579, + "begin": 1610, + "end": 1641, "name": "PUSH [tag]", - "source": 0, - "value": "15" + "source": 1, + "value": "125" }, - { "begin": 2230, "end": 2579, "name": "SWAP2", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "SWAP1", "source": 0 }, + { "begin": 1635, "end": 1640, "name": "DUP2", "source": 1 }, { - "begin": 2230, - "end": 2579, + "begin": 1610, + "end": 1641, "name": "PUSH [tag]", - "source": 0, - "value": "16" + "source": 1, + "value": "62" }, { - "begin": 2230, - "end": 2579, + "begin": 1610, + "end": 1641, "name": "JUMP", - "source": 0, + "source": 1, "value": "[in]" }, { - "begin": 2230, - "end": 2579, - "name": "tag", - "source": 0, - "value": "15" + "begin": 1610, + "end": 1641, + "name": "tag", + "source": 1, + "value": "125" + }, + { "begin": 1610, "end": 1641, "name": "JUMPDEST", "source": 1 }, + { "begin": 1512, "end": 1647, "name": "SWAP3", "source": 1 }, + { "begin": 1512, "end": 1647, "name": "SWAP2", "source": 1 }, + { "begin": 1512, "end": 1647, "name": "POP", "source": 1 }, + { "begin": 1512, "end": 1647, "name": "POP", "source": 1 }, + { + "begin": 1512, + "end": 1647, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 1653, + "end": 1770, + "name": "tag", + "source": 1, + "value": "64" + }, + { "begin": 1653, "end": 1770, "name": "JUMPDEST", "source": 1 }, + { + "begin": 1762, + "end": 1763, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { "begin": 1759, "end": 1760, "name": "DUP1", "source": 1 }, + { "begin": 1752, "end": 1764, "name": "REVERT", "source": 1 }, + { + "begin": 1776, + "end": 2096, + "name": "tag", + "source": 1, + "value": "65" + }, + { "begin": 1776, "end": 2096, "name": "JUMPDEST", "source": 1 }, + { + "begin": 1862, + "end": 1866, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { + "begin": 1952, + "end": 1970, + "name": "PUSH", + "source": 1, + "value": "FFFFFFFFFFFFFFFF" + }, + { "begin": 1944, "end": 1950, "name": "DUP3", "source": 1 }, + { "begin": 1941, "end": 1971, "name": "GT", "source": 1 }, + { "begin": 1938, "end": 1994, "name": "ISZERO", "source": 1 }, + { + "begin": 1938, + "end": 1994, + "name": "PUSH [tag]", + "source": 1, + "value": "128" + }, + { "begin": 1938, "end": 1994, "name": "JUMPI", "source": 1 }, + { + "begin": 1974, + "end": 1992, + "name": "PUSH [tag]", + "source": 1, + "value": "129" }, - { "begin": 2230, "end": 2579, "name": "JUMPDEST", "source": 0 }, { - "begin": 2230, - "end": 2579, + "begin": 1974, + "end": 1992, "name": "PUSH [tag]", - "source": 0, - "value": "17" + "source": 1, + "value": "57" }, { - "begin": 2230, - "end": 2579, + "begin": 1974, + "end": 1992, "name": "JUMP", - "source": 0, + "source": 1, "value": "[in]" }, { - "begin": 2230, - "end": 2579, + "begin": 1974, + "end": 1992, "name": "tag", - "source": 0, - "value": "14" + "source": 1, + "value": "129" }, - { "begin": 2230, "end": 2579, "name": "JUMPDEST", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "STOP", "source": 0 }, + { "begin": 1974, "end": 1992, "name": "JUMPDEST", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 1938, + "end": 1994, "name": "tag", - "source": 0, - "value": "7" - }, - { "begin": 2143, "end": 2219, "name": "JUMPDEST", "source": 0 }, - { - "begin": 2143, - "end": 2219, - "name": "PUSH", - "source": 0, - "value": "0" + "source": 1, + "value": "128" }, - { "begin": 2143, "end": 2219, "name": "DUP1", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SLOAD", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SWAP1", "source": 0 }, + { "begin": 1938, "end": 1994, "name": "JUMPDEST", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 2024, + "end": 2028, "name": "PUSH", - "source": 0, - "value": "100" + "source": 1, + "value": "20" }, - { "begin": 2143, "end": 2219, "name": "EXP", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "SWAP1", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "DIV", "source": 0 }, + { "begin": 2016, "end": 2022, "name": "DUP3", "source": 1 }, + { "begin": 2012, "end": 2029, "name": "MUL", "source": 1 }, + { "begin": 2004, "end": 2029, "name": "SWAP1", "source": 1 }, + { "begin": 2004, "end": 2029, "name": "POP", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 2084, + "end": 2088, "name": "PUSH", - "source": 0, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "source": 1, + "value": "20" }, - { "begin": 2143, "end": 2219, "name": "AND", "source": 0 }, - { "begin": 2143, "end": 2219, "name": "DUP2", "source": 0 }, + { "begin": 2078, "end": 2082, "name": "DUP2", "source": 1 }, + { "begin": 2074, "end": 2089, "name": "ADD", "source": 1 }, + { "begin": 2066, "end": 2089, "name": "SWAP1", "source": 1 }, + { "begin": 2066, "end": 2089, "name": "POP", "source": 1 }, + { "begin": 1776, "end": 2096, "name": "SWAP2", "source": 1 }, + { "begin": 1776, "end": 2096, "name": "SWAP1", "source": 1 }, + { "begin": 1776, "end": 2096, "name": "POP", "source": 1 }, { - "begin": 2143, - "end": 2219, + "begin": 1776, + "end": 2096, "name": "JUMP", - "source": 0, + "source": 1, "value": "[out]" }, { - "begin": 2588, - "end": 2874, + "begin": 2102, + "end": 2219, "name": "tag", - "source": 0, - "value": "13" + "source": 1, + "value": "66" }, - { "begin": 2588, "end": 2874, "name": "JUMPDEST", "source": 0 }, + { "begin": 2102, "end": 2219, "name": "JUMPDEST", "source": 1 }, { - "begin": 2800, - "end": 2807, + "begin": 2211, + "end": 2212, "name": "PUSH", - "source": 0, + "source": 1, "value": "0" }, - { "begin": 2800, "end": 2807, "name": "DUP1", "source": 0 }, - { "begin": 2800, "end": 2807, "name": "SLOAD", "source": 0 }, - { "begin": 2800, "end": 2807, "name": "SWAP1", "source": 0 }, + { "begin": 2208, "end": 2209, "name": "DUP1", "source": 1 }, + { "begin": 2201, "end": 2213, "name": "REVERT", "source": 1 }, { - "begin": 2800, - "end": 2807, - "name": "PUSH", - "source": 0, - "value": "100" - }, - { "begin": 2800, "end": 2807, "name": "EXP", "source": 0 }, - { "begin": 2800, "end": 2807, "name": "SWAP1", "source": 0 }, - { "begin": 2800, "end": 2807, "name": "DIV", "source": 0 }, - { - "begin": 2800, - "end": 2807, - "name": "PUSH", - "source": 0, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { "begin": 2800, "end": 2807, "name": "AND", "source": 0 }, - { - "begin": 2800, - "end": 2827, - "name": "PUSH", - "source": 0, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "begin": 2225, + "end": 2342, + "name": "tag", + "source": 1, + "value": "67" }, - { "begin": 2800, "end": 2827, "name": "AND", "source": 0 }, + { "begin": 2225, "end": 2342, "name": "JUMPDEST", "source": 1 }, { - "begin": 2800, - "end": 2827, + "begin": 2334, + "end": 2335, "name": "PUSH", - "source": 0, - "value": "B38C60FA" + "source": 1, + "value": "0" }, - { "begin": 2828, "end": 2833, "name": "DUP6", "source": 0 }, - { "begin": 2835, "end": 2841, "name": "DUP6", "source": 0 }, - { "begin": 2843, "end": 2854, "name": "DUP6", "source": 0 }, - { "begin": 2856, "end": 2862, "name": "DUP6", "source": 0 }, + { "begin": 2331, "end": 2332, "name": "DUP1", "source": 1 }, + { "begin": 2324, "end": 2336, "name": "REVERT", "source": 1 }, { - "begin": 2800, - "end": 2863, - "name": "PUSH", - "source": 0, - "value": "40" + "begin": 2348, + "end": 2655, + "name": "tag", + "source": 1, + "value": "68" }, - { "begin": 2800, "end": 2863, "name": "MLOAD", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "DUP6", "source": 0 }, + { "begin": 2348, "end": 2655, "name": "JUMPDEST", "source": 1 }, { - "begin": 2800, - "end": 2863, + "begin": 2409, + "end": 2413, "name": "PUSH", - "source": 0, - "value": "FFFFFFFF" + "source": 1, + "value": "0" }, - { "begin": 2800, "end": 2863, "name": "AND", "source": 0 }, { - "begin": 2800, - "end": 2863, + "begin": 2499, + "end": 2517, "name": "PUSH", - "source": 0, - "value": "E0" + "source": 1, + "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 2800, "end": 2863, "name": "SHL", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "DUP2", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "MSTORE", "source": 0 }, + { "begin": 2491, "end": 2497, "name": "DUP3", "source": 1 }, + { "begin": 2488, "end": 2518, "name": "GT", "source": 1 }, + { "begin": 2485, "end": 2541, "name": "ISZERO", "source": 1 }, { - "begin": 2800, - "end": 2863, - "name": "PUSH", - "source": 0, - "value": "4" + "begin": 2485, + "end": 2541, + "name": "PUSH [tag]", + "source": 1, + "value": "133" }, - { "begin": 2800, "end": 2863, "name": "ADD", "source": 0 }, + { "begin": 2485, "end": 2541, "name": "JUMPI", "source": 1 }, { - "begin": 2800, - "end": 2863, + "begin": 2521, + "end": 2539, "name": "PUSH [tag]", - "source": 0, - "value": "19" + "source": 1, + "value": "134" }, - { "begin": 2800, "end": 2863, "name": "SWAP5", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "SWAP4", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "SWAP3", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "SWAP2", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "SWAP1", "source": 0 }, { - "begin": 2800, - "end": 2863, + "begin": 2521, + "end": 2539, "name": "PUSH [tag]", - "source": 0, - "value": "20" + "source": 1, + "value": "57" }, { - "begin": 2800, - "end": 2863, + "begin": 2521, + "end": 2539, "name": "JUMP", - "source": 0, + "source": 1, "value": "[in]" }, { - "begin": 2800, - "end": 2863, + "begin": 2521, + "end": 2539, "name": "tag", - "source": 0, - "value": "19" + "source": 1, + "value": "134" }, - { "begin": 2800, "end": 2863, "name": "JUMPDEST", "source": 0 }, + { "begin": 2521, "end": 2539, "name": "JUMPDEST", "source": 1 }, { - "begin": 2800, - "end": 2863, - "name": "PUSH", - "source": 0, - "value": "0" + "begin": 2485, + "end": 2541, + "name": "tag", + "source": 1, + "value": "133" }, + { "begin": 2485, "end": 2541, "name": "JUMPDEST", "source": 1 }, { - "begin": 2800, - "end": 2863, - "name": "PUSH", - "source": 0, - "value": "40" + "begin": 2559, + "end": 2588, + "name": "PUSH [tag]", + "source": 1, + "value": "135" }, - { "begin": 2800, "end": 2863, "name": "MLOAD", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "DUP1", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "DUP4", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "SUB", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "DUP2", "source": 0 }, + { "begin": 2581, "end": 2587, "name": "DUP3", "source": 1 }, { - "begin": 2800, - "end": 2863, - "name": "PUSH", - "source": 0, - "value": "0" + "begin": 2559, + "end": 2588, + "name": "PUSH [tag]", + "source": 1, + "value": "56" }, - { "begin": 2800, "end": 2863, "name": "DUP8", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "DUP1", "source": 0 }, { - "begin": 2800, - "end": 2863, - "name": "EXTCODESIZE", - "source": 0 + "begin": 2559, + "end": 2588, + "name": "JUMP", + "source": 1, + "value": "[in]" }, - { "begin": 2800, "end": 2863, "name": "ISZERO", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "DUP1", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "ISZERO", "source": 0 }, { - "begin": 2800, - "end": 2863, - "name": "PUSH [tag]", - "source": 0, - "value": "21" + "begin": 2559, + "end": 2588, + "name": "tag", + "source": 1, + "value": "135" }, - { "begin": 2800, "end": 2863, "name": "JUMPI", "source": 0 }, + { "begin": 2559, "end": 2588, "name": "JUMPDEST", "source": 1 }, + { "begin": 2551, "end": 2588, "name": "SWAP1", "source": 1 }, + { "begin": 2551, "end": 2588, "name": "POP", "source": 1 }, { - "begin": 2800, - "end": 2863, + "begin": 2643, + "end": 2647, "name": "PUSH", - "source": 0, - "value": "0" + "source": 1, + "value": "20" }, - { "begin": 2800, "end": 2863, "name": "DUP1", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "REVERT", "source": 0 }, + { "begin": 2637, "end": 2641, "name": "DUP2", "source": 1 }, + { "begin": 2633, "end": 2648, "name": "ADD", "source": 1 }, + { "begin": 2625, "end": 2648, "name": "SWAP1", "source": 1 }, + { "begin": 2625, "end": 2648, "name": "POP", "source": 1 }, + { "begin": 2348, "end": 2655, "name": "SWAP2", "source": 1 }, + { "begin": 2348, "end": 2655, "name": "SWAP1", "source": 1 }, + { "begin": 2348, "end": 2655, "name": "POP", "source": 1 }, { - "begin": 2800, - "end": 2863, - "name": "tag", - "source": 0, - "value": "21" + "begin": 2348, + "end": 2655, + "name": "JUMP", + "source": 1, + "value": "[out]" }, - { "begin": 2800, "end": 2863, "name": "JUMPDEST", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "POP", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "GAS", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "CALL", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "ISZERO", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "DUP1", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "ISZERO", "source": 0 }, { - "begin": 2800, - "end": 2863, - "name": "PUSH [tag]", - "source": 0, - "value": "23" + "begin": 2661, + "end": 2815, + "name": "tag", + "source": 1, + "value": "69" }, - { "begin": 2800, "end": 2863, "name": "JUMPI", "source": 0 }, + { "begin": 2661, "end": 2815, "name": "JUMPDEST", "source": 1 }, + { "begin": 2745, "end": 2751, "name": "DUP3", "source": 1 }, + { "begin": 2740, "end": 2743, "name": "DUP2", "source": 1 }, + { "begin": 2735, "end": 2738, "name": "DUP4", "source": 1 }, { - "begin": 2800, - "end": 2863, - "name": "RETURNDATASIZE", - "source": 0 + "begin": 2722, + "end": 2752, + "name": "CALLDATACOPY", + "source": 1 }, { - "begin": 2800, - "end": 2863, + "begin": 2807, + "end": 2808, "name": "PUSH", - "source": 0, + "source": 1, "value": "0" }, - { "begin": 2800, "end": 2863, "name": "DUP1", "source": 0 }, + { "begin": 2798, "end": 2804, "name": "DUP4", "source": 1 }, + { "begin": 2793, "end": 2796, "name": "DUP4", "source": 1 }, + { "begin": 2789, "end": 2805, "name": "ADD", "source": 1 }, + { "begin": 2782, "end": 2809, "name": "MSTORE", "source": 1 }, + { "begin": 2661, "end": 2815, "name": "POP", "source": 1 }, + { "begin": 2661, "end": 2815, "name": "POP", "source": 1 }, + { "begin": 2661, "end": 2815, "name": "POP", "source": 1 }, { - "begin": 2800, - "end": 2863, - "name": "RETURNDATACOPY", - "source": 0 + "begin": 2661, + "end": 2815, + "name": "JUMP", + "source": 1, + "value": "[out]" }, { - "begin": 2800, - "end": 2863, - "name": "RETURNDATASIZE", - "source": 0 + "begin": 2821, + "end": 3231, + "name": "tag", + "source": 1, + "value": "70" }, + { "begin": 2821, "end": 3231, "name": "JUMPDEST", "source": 1 }, { - "begin": 2800, - "end": 2863, + "begin": 2898, + "end": 2903, "name": "PUSH", - "source": 0, + "source": 1, "value": "0" }, - { "begin": 2800, "end": 2863, "name": "REVERT", "source": 0 }, { - "begin": 2800, - "end": 2863, - "name": "tag", - "source": 0, - "value": "23" + "begin": 2923, + "end": 2988, + "name": "PUSH [tag]", + "source": 1, + "value": "138" + }, + { + "begin": 2939, + "end": 2987, + "name": "PUSH [tag]", + "source": 1, + "value": "139" + }, + { "begin": 2980, "end": 2986, "name": "DUP5", "source": 1 }, + { + "begin": 2939, + "end": 2987, + "name": "PUSH [tag]", + "source": 1, + "value": "68" }, - { "begin": 2800, "end": 2863, "name": "JUMPDEST", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "POP", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "POP", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "POP", "source": 0 }, - { "begin": 2800, "end": 2863, "name": "POP", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "POP", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "POP", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "POP", "source": 0 }, - { "begin": 2588, "end": 2874, "name": "POP", "source": 0 }, { - "begin": 2588, - "end": 2874, + "begin": 2939, + "end": 2987, "name": "JUMP", - "source": 0, - "value": "[out]" + "source": 1, + "value": "[in]" }, { - "begin": 2230, - "end": 2579, + "begin": 2939, + "end": 2987, "name": "tag", - "source": 0, - "value": "17" + "source": 1, + "value": "139" }, - { "begin": 2230, "end": 2579, "name": "JUMPDEST", "source": 0 }, + { "begin": 2939, "end": 2987, "name": "JUMPDEST", "source": 1 }, { - "begin": 2505, - "end": 2512, - "name": "PUSH", - "source": 0, - "value": "0" + "begin": 2923, + "end": 2988, + "name": "PUSH [tag]", + "source": 1, + "value": "59" }, - { "begin": 2505, "end": 2512, "name": "DUP1", "source": 0 }, - { "begin": 2505, "end": 2512, "name": "SLOAD", "source": 0 }, - { "begin": 2505, "end": 2512, "name": "SWAP1", "source": 0 }, { - "begin": 2505, - "end": 2512, - "name": "PUSH", - "source": 0, - "value": "100" + "begin": 2923, + "end": 2988, + "name": "JUMP", + "source": 1, + "value": "[in]" }, - { "begin": 2505, "end": 2512, "name": "EXP", "source": 0 }, - { "begin": 2505, "end": 2512, "name": "SWAP1", "source": 0 }, - { "begin": 2505, "end": 2512, "name": "DIV", "source": 0 }, { - "begin": 2505, - "end": 2512, - "name": "PUSH", - "source": 0, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "begin": 2923, + "end": 2988, + "name": "tag", + "source": 1, + "value": "138" }, - { "begin": 2505, "end": 2512, "name": "AND", "source": 0 }, + { "begin": 2923, "end": 2988, "name": "JUMPDEST", "source": 1 }, + { "begin": 2914, "end": 2988, "name": "SWAP1", "source": 1 }, + { "begin": 2914, "end": 2988, "name": "POP", "source": 1 }, + { "begin": 3011, "end": 3017, "name": "DUP3", "source": 1 }, + { "begin": 3004, "end": 3009, "name": "DUP2", "source": 1 }, + { "begin": 2997, "end": 3018, "name": "MSTORE", "source": 1 }, { - "begin": 2505, - "end": 2521, + "begin": 3049, + "end": 3053, "name": "PUSH", - "source": 0, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "source": 1, + "value": "20" + }, + { "begin": 3042, "end": 3047, "name": "DUP2", "source": 1 }, + { "begin": 3038, "end": 3054, "name": "ADD", "source": 1 }, + { "begin": 3087, "end": 3090, "name": "DUP5", "source": 1 }, + { "begin": 3078, "end": 3084, "name": "DUP5", "source": 1 }, + { "begin": 3073, "end": 3076, "name": "DUP5", "source": 1 }, + { "begin": 3069, "end": 3085, "name": "ADD", "source": 1 }, + { "begin": 3066, "end": 3091, "name": "GT", "source": 1 }, + { "begin": 3063, "end": 3175, "name": "ISZERO", "source": 1 }, + { + "begin": 3063, + "end": 3175, + "name": "PUSH [tag]", + "source": 1, + "value": "140" }, - { "begin": 2505, "end": 2521, "name": "AND", "source": 0 }, + { "begin": 3063, "end": 3175, "name": "JUMPI", "source": 1 }, { - "begin": 2505, - "end": 2521, - "name": "PUSH", - "source": 0, - "value": "B9F813FF" + "begin": 3094, + "end": 3173, + "name": "PUSH [tag]", + "source": 1, + "value": "141" }, - { "begin": 2522, "end": 2538, "name": "DUP6", "source": 0 }, - { "begin": 2540, "end": 2546, "name": "DUP6", "source": 0 }, - { "begin": 2548, "end": 2559, "name": "DUP6", "source": 0 }, - { "begin": 2561, "end": 2567, "name": "DUP6", "source": 0 }, { - "begin": 2505, - "end": 2568, - "name": "PUSH", - "source": 0, - "value": "40" + "begin": 3094, + "end": 3173, + "name": "PUSH [tag]", + "source": 1, + "value": "67" }, - { "begin": 2505, "end": 2568, "name": "MLOAD", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "DUP6", "source": 0 }, { - "begin": 2505, - "end": 2568, - "name": "PUSH", - "source": 0, - "value": "FFFFFFFF" + "begin": 3094, + "end": 3173, + "name": "JUMP", + "source": 1, + "value": "[in]" }, - { "begin": 2505, "end": 2568, "name": "AND", "source": 0 }, { - "begin": 2505, - "end": 2568, - "name": "PUSH", - "source": 0, - "value": "E0" + "begin": 3094, + "end": 3173, + "name": "tag", + "source": 1, + "value": "141" }, - { "begin": 2505, "end": 2568, "name": "SHL", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "DUP2", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "MSTORE", "source": 0 }, + { "begin": 3094, "end": 3173, "name": "JUMPDEST", "source": 1 }, { - "begin": 2505, - "end": 2568, - "name": "PUSH", - "source": 0, - "value": "4" + "begin": 3063, + "end": 3175, + "name": "tag", + "source": 1, + "value": "140" }, - { "begin": 2505, "end": 2568, "name": "ADD", "source": 0 }, + { "begin": 3063, "end": 3175, "name": "JUMPDEST", "source": 1 }, { - "begin": 2505, - "end": 2568, + "begin": 3184, + "end": 3225, "name": "PUSH [tag]", - "source": 0, - "value": "25" + "source": 1, + "value": "142" }, - { "begin": 2505, "end": 2568, "name": "SWAP5", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "SWAP4", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "SWAP3", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "SWAP2", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "SWAP1", "source": 0 }, + { "begin": 3218, "end": 3224, "name": "DUP5", "source": 1 }, + { "begin": 3213, "end": 3216, "name": "DUP3", "source": 1 }, + { "begin": 3208, "end": 3211, "name": "DUP6", "source": 1 }, { - "begin": 2505, - "end": 2568, + "begin": 3184, + "end": 3225, "name": "PUSH [tag]", - "source": 0, - "value": "26" + "source": 1, + "value": "69" + }, + { + "begin": 3184, + "end": 3225, + "name": "JUMP", + "source": 1, + "value": "[in]" + }, + { + "begin": 3184, + "end": 3225, + "name": "tag", + "source": 1, + "value": "142" }, + { "begin": 3184, "end": 3225, "name": "JUMPDEST", "source": 1 }, + { "begin": 2904, "end": 3231, "name": "POP", "source": 1 }, + { "begin": 2821, "end": 3231, "name": "SWAP4", "source": 1 }, + { "begin": 2821, "end": 3231, "name": "SWAP3", "source": 1 }, + { "begin": 2821, "end": 3231, "name": "POP", "source": 1 }, + { "begin": 2821, "end": 3231, "name": "POP", "source": 1 }, + { "begin": 2821, "end": 3231, "name": "POP", "source": 1 }, { - "begin": 2505, - "end": 2568, + "begin": 2821, + "end": 3231, "name": "JUMP", - "source": 0, - "value": "[in]" + "source": 1, + "value": "[out]" }, { - "begin": 2505, - "end": 2568, + "begin": 3250, + "end": 3588, "name": "tag", - "source": 0, - "value": "25" + "source": 1, + "value": "71" }, - { "begin": 2505, "end": 2568, "name": "JUMPDEST", "source": 0 }, + { "begin": 3250, "end": 3588, "name": "JUMPDEST", "source": 1 }, { - "begin": 2505, - "end": 2568, + "begin": 3305, + "end": 3310, "name": "PUSH", - "source": 0, + "source": 1, "value": "0" }, + { "begin": 3354, "end": 3357, "name": "DUP3", "source": 1 }, { - "begin": 2505, - "end": 2568, + "begin": 3347, + "end": 3351, "name": "PUSH", - "source": 0, - "value": "40" + "source": 1, + "value": "1F" }, - { "begin": 2505, "end": 2568, "name": "MLOAD", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "DUP1", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "DUP4", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "SUB", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "DUP2", "source": 0 }, + { "begin": 3339, "end": 3345, "name": "DUP4", "source": 1 }, + { "begin": 3335, "end": 3352, "name": "ADD", "source": 1 }, + { "begin": 3331, "end": 3358, "name": "SLT", "source": 1 }, { - "begin": 2505, - "end": 2568, - "name": "PUSH", - "source": 0, - "value": "0" + "begin": 3321, + "end": 3443, + "name": "PUSH [tag]", + "source": 1, + "value": "144" }, - { "begin": 2505, "end": 2568, "name": "DUP8", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "DUP1", "source": 0 }, + { "begin": 3321, "end": 3443, "name": "JUMPI", "source": 1 }, { - "begin": 2505, - "end": 2568, - "name": "EXTCODESIZE", - "source": 0 + "begin": 3362, + "end": 3441, + "name": "PUSH [tag]", + "source": 1, + "value": "145" }, - { "begin": 2505, "end": 2568, "name": "ISZERO", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "DUP1", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "ISZERO", "source": 0 }, { - "begin": 2505, - "end": 2568, + "begin": 3362, + "end": 3441, "name": "PUSH [tag]", - "source": 0, - "value": "27" + "source": 1, + "value": "64" }, - { "begin": 2505, "end": 2568, "name": "JUMPI", "source": 0 }, { - "begin": 2505, - "end": 2568, - "name": "PUSH", - "source": 0, - "value": "0" + "begin": 3362, + "end": 3441, + "name": "JUMP", + "source": 1, + "value": "[in]" }, - { "begin": 2505, "end": 2568, "name": "DUP1", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "REVERT", "source": 0 }, { - "begin": 2505, - "end": 2568, + "begin": 3362, + "end": 3441, "name": "tag", - "source": 0, - "value": "27" + "source": 1, + "value": "145" }, - { "begin": 2505, "end": 2568, "name": "JUMPDEST", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "POP", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "GAS", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "CALL", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "ISZERO", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "DUP1", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "ISZERO", "source": 0 }, + { "begin": 3362, "end": 3441, "name": "JUMPDEST", "source": 1 }, { - "begin": 2505, - "end": 2568, - "name": "PUSH [tag]", - "source": 0, - "value": "29" + "begin": 3321, + "end": 3443, + "name": "tag", + "source": 1, + "value": "144" }, - { "begin": 2505, "end": 2568, "name": "JUMPI", "source": 0 }, + { "begin": 3321, "end": 3443, "name": "JUMPDEST", "source": 1 }, + { "begin": 3479, "end": 3485, "name": "DUP2", "source": 1 }, { - "begin": 2505, - "end": 2568, - "name": "RETURNDATASIZE", - "source": 0 + "begin": 3466, + "end": 3486, + "name": "CALLDATALOAD", + "source": 1 }, { - "begin": 2505, - "end": 2568, - "name": "PUSH", - "source": 0, - "value": "0" + "begin": 3504, + "end": 3582, + "name": "PUSH [tag]", + "source": 1, + "value": "146" }, - { "begin": 2505, "end": 2568, "name": "DUP1", "source": 0 }, + { "begin": 3578, "end": 3581, "name": "DUP5", "source": 1 }, + { "begin": 3570, "end": 3576, "name": "DUP3", "source": 1 }, { - "begin": 2505, - "end": 2568, - "name": "RETURNDATACOPY", - "source": 0 + "begin": 3563, + "end": 3567, + "name": "PUSH", + "source": 1, + "value": "20" }, + { "begin": 3555, "end": 3561, "name": "DUP7", "source": 1 }, + { "begin": 3551, "end": 3568, "name": "ADD", "source": 1 }, { - "begin": 2505, - "end": 2568, - "name": "RETURNDATASIZE", - "source": 0 + "begin": 3504, + "end": 3582, + "name": "PUSH [tag]", + "source": 1, + "value": "70" }, { - "begin": 2505, - "end": 2568, - "name": "PUSH", - "source": 0, - "value": "0" + "begin": 3504, + "end": 3582, + "name": "JUMP", + "source": 1, + "value": "[in]" }, - { "begin": 2505, "end": 2568, "name": "REVERT", "source": 0 }, { - "begin": 2505, - "end": 2568, + "begin": 3504, + "end": 3582, "name": "tag", - "source": 0, - "value": "29" + "source": 1, + "value": "146" }, - { "begin": 2505, "end": 2568, "name": "JUMPDEST", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "POP", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "POP", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "POP", "source": 0 }, - { "begin": 2505, "end": 2568, "name": "POP", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "POP", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "POP", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "POP", "source": 0 }, - { "begin": 2230, "end": 2579, "name": "POP", "source": 0 }, - { - "begin": 2230, - "end": 2579, + { "begin": 3504, "end": 3582, "name": "JUMPDEST", "source": 1 }, + { "begin": 3495, "end": 3582, "name": "SWAP2", "source": 1 }, + { "begin": 3495, "end": 3582, "name": "POP", "source": 1 }, + { "begin": 3311, "end": 3588, "name": "POP", "source": 1 }, + { "begin": 3250, "end": 3588, "name": "SWAP3", "source": 1 }, + { "begin": 3250, "end": 3588, "name": "SWAP2", "source": 1 }, + { "begin": 3250, "end": 3588, "name": "POP", "source": 1 }, + { "begin": 3250, "end": 3588, "name": "POP", "source": 1 }, + { + "begin": 3250, + "end": 3588, "name": "JUMP", - "source": 0, + "source": 1, "value": "[out]" }, { - "begin": 22, - "end": 976, + "begin": 3609, + "end": 4551, "name": "tag", "source": 1, - "value": "31" + "value": "72" }, - { "begin": 22, "end": 976, "name": "JUMPDEST", "source": 1 }, + { "begin": 3609, "end": 4551, "name": "JUMPDEST", "source": 1 }, { - "begin": 127, - "end": 132, + "begin": 3714, + "end": 3719, "name": "PUSH", "source": 1, "value": "0" }, { - "begin": 152, - "end": 242, + "begin": 3739, + "end": 3829, "name": "PUSH [tag]", "source": 1, - "value": "33" + "value": "148" }, { - "begin": 168, - "end": 241, + "begin": 3755, + "end": 3828, "name": "PUSH [tag]", "source": 1, - "value": "34" + "value": "149" }, - { "begin": 234, "end": 240, "name": "DUP5", "source": 1 }, + { "begin": 3821, "end": 3827, "name": "DUP5", "source": 1 }, { - "begin": 168, - "end": 241, + "begin": 3755, + "end": 3828, "name": "PUSH [tag]", "source": 1, - "value": "35" + "value": "65" }, { - "begin": 168, - "end": 241, + "begin": 3755, + "end": 3828, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 168, - "end": 241, + "begin": 3755, + "end": 3828, "name": "tag", "source": 1, - "value": "34" + "value": "149" }, - { "begin": 168, "end": 241, "name": "JUMPDEST", "source": 1 }, + { "begin": 3755, "end": 3828, "name": "JUMPDEST", "source": 1 }, { - "begin": 152, - "end": 242, + "begin": 3739, + "end": 3829, "name": "PUSH [tag]", "source": 1, - "value": "36" + "value": "59" }, { - "begin": 152, - "end": 242, + "begin": 3739, + "end": 3829, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 152, - "end": 242, + "begin": 3739, + "end": 3829, "name": "tag", "source": 1, - "value": "33" + "value": "148" }, - { "begin": 152, "end": 242, "name": "JUMPDEST", "source": 1 }, - { "begin": 143, "end": 242, "name": "SWAP1", "source": 1 }, - { "begin": 143, "end": 242, "name": "POP", "source": 1 }, - { "begin": 262, "end": 267, "name": "DUP1", "source": 1 }, - { "begin": 291, "end": 297, "name": "DUP4", "source": 1 }, - { "begin": 284, "end": 289, "name": "DUP3", "source": 1 }, - { "begin": 277, "end": 298, "name": "MSTORE", "source": 1 }, + { "begin": 3739, "end": 3829, "name": "JUMPDEST", "source": 1 }, + { "begin": 3730, "end": 3829, "name": "SWAP1", "source": 1 }, + { "begin": 3730, "end": 3829, "name": "POP", "source": 1 }, + { "begin": 3849, "end": 3854, "name": "DUP1", "source": 1 }, + { "begin": 3878, "end": 3884, "name": "DUP4", "source": 1 }, + { "begin": 3871, "end": 3876, "name": "DUP3", "source": 1 }, + { "begin": 3864, "end": 3885, "name": "MSTORE", "source": 1 }, { - "begin": 325, - "end": 329, + "begin": 3912, + "end": 3916, "name": "PUSH", "source": 1, "value": "20" }, - { "begin": 318, "end": 323, "name": "DUP3", "source": 1 }, - { "begin": 314, "end": 330, "name": "ADD", "source": 1 }, - { "begin": 307, "end": 330, "name": "SWAP1", "source": 1 }, - { "begin": 307, "end": 330, "name": "POP", "source": 1 }, - { "begin": 351, "end": 357, "name": "DUP3", "source": 1 }, - { "begin": 401, "end": 404, "name": "DUP6", "source": 1 }, + { "begin": 3905, "end": 3910, "name": "DUP3", "source": 1 }, + { "begin": 3901, "end": 3917, "name": "ADD", "source": 1 }, + { "begin": 3894, "end": 3917, "name": "SWAP1", "source": 1 }, + { "begin": 3894, "end": 3917, "name": "POP", "source": 1 }, { - "begin": 393, - "end": 397, + "begin": 3965, + "end": 3969, "name": "PUSH", "source": 1, "value": "20" }, - { "begin": 385, "end": 391, "name": "DUP7", "source": 1 }, - { "begin": 381, "end": 398, "name": "MUL", "source": 1 }, - { "begin": 376, "end": 379, "name": "DUP3", "source": 1 }, - { "begin": 372, "end": 399, "name": "ADD", "source": 1 }, - { "begin": 369, "end": 405, "name": "GT", "source": 1 }, - { "begin": 366, "end": 368, "name": "ISZERO", "source": 1 }, - { - "begin": 366, - "end": 368, + { "begin": 3957, "end": 3963, "name": "DUP5", "source": 1 }, + { "begin": 3953, "end": 3970, "name": "MUL", "source": 1 }, + { "begin": 3945, "end": 3951, "name": "DUP4", "source": 1 }, + { "begin": 3941, "end": 3971, "name": "ADD", "source": 1 }, + { "begin": 3994, "end": 3997, "name": "DUP6", "source": 1 }, + { "begin": 3986, "end": 3992, "name": "DUP2", "source": 1 }, + { "begin": 3983, "end": 3998, "name": "GT", "source": 1 }, + { "begin": 3980, "end": 4102, "name": "ISZERO", "source": 1 }, + { + "begin": 3980, + "end": 4102, "name": "PUSH [tag]", "source": 1, - "value": "37" + "value": "150" }, - { "begin": 366, "end": 368, "name": "JUMPI", "source": 1 }, + { "begin": 3980, "end": 4102, "name": "JUMPI", "source": 1 }, { - "begin": 420, - "end": 499, + "begin": 4013, + "end": 4092, "name": "PUSH [tag]", "source": 1, - "value": "38" + "value": "151" }, { - "begin": 420, - "end": 499, + "begin": 4013, + "end": 4092, "name": "PUSH [tag]", "source": 1, - "value": "39" + "value": "66" }, { - "begin": 420, - "end": 499, + "begin": 4013, + "end": 4092, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 420, - "end": 499, + "begin": 4013, + "end": 4092, "name": "tag", "source": 1, - "value": "38" + "value": "151" }, - { "begin": 420, "end": 499, "name": "JUMPDEST", "source": 1 }, + { "begin": 4013, "end": 4092, "name": "JUMPDEST", "source": 1 }, { - "begin": 366, - "end": 368, + "begin": 3980, + "end": 4102, "name": "tag", "source": 1, - "value": "37" - }, - { "begin": 366, "end": 368, "name": "JUMPDEST", "source": 1 }, - { - "begin": 533, - "end": 534, - "name": "PUSH", - "source": 1, - "value": "0" + "value": "150" }, + { "begin": 3980, "end": 4102, "name": "JUMPDEST", "source": 1 }, + { "begin": 4128, "end": 4134, "name": "DUP4", "source": 1 }, { - "begin": 518, - "end": 970, + "begin": 4111, + "end": 4545, "name": "tag", "source": 1, - "value": "40" + "value": "152" }, - { "begin": 518, "end": 970, "name": "JUMPDEST", "source": 1 }, - { "begin": 543, "end": 549, "name": "DUP6", "source": 1 }, - { "begin": 540, "end": 541, "name": "DUP2", "source": 1 }, - { "begin": 537, "end": 550, "name": "LT", "source": 1 }, - { "begin": 518, "end": 970, "name": "ISZERO", "source": 1 }, + { "begin": 4111, "end": 4545, "name": "JUMPDEST", "source": 1 }, + { "begin": 4145, "end": 4151, "name": "DUP2", "source": 1 }, + { "begin": 4140, "end": 4143, "name": "DUP2", "source": 1 }, + { "begin": 4137, "end": 4152, "name": "LT", "source": 1 }, + { "begin": 4111, "end": 4545, "name": "ISZERO", "source": 1 }, { - "begin": 518, - "end": 970, + "begin": 4111, + "end": 4545, "name": "PUSH [tag]", "source": 1, - "value": "42" + "value": "154" + }, + { "begin": 4111, "end": 4545, "name": "JUMPI", "source": 1 }, + { "begin": 4234, "end": 4237, "name": "DUP1", "source": 1 }, + { + "begin": 4221, + "end": 4238, + "name": "CALLDATALOAD", + "source": 1 }, - { "begin": 518, "end": 970, "name": "JUMPI", "source": 1 }, - { "begin": 625, "end": 628, "name": "DUP2", "source": 1 }, - { "begin": 612, "end": 629, "name": "CALLDATALOAD", "source": 1 }, { - "begin": 661, - "end": 679, + "begin": 4270, + "end": 4288, "name": "PUSH", "source": 1, "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 648, "end": 659, "name": "DUP2", "source": 1 }, - { "begin": 645, "end": 680, "name": "GT", "source": 1 }, - { "begin": 642, "end": 644, "name": "ISZERO", "source": 1 }, + { "begin": 4257, "end": 4268, "name": "DUP2", "source": 1 }, + { "begin": 4254, "end": 4289, "name": "GT", "source": 1 }, + { "begin": 4251, "end": 4373, "name": "ISZERO", "source": 1 }, { - "begin": 642, - "end": 644, + "begin": 4251, + "end": 4373, "name": "PUSH [tag]", "source": 1, - "value": "43" + "value": "155" }, - { "begin": 642, "end": 644, "name": "JUMPI", "source": 1 }, + { "begin": 4251, "end": 4373, "name": "JUMPI", "source": 1 }, { - "begin": 683, - "end": 762, + "begin": 4292, + "end": 4371, "name": "PUSH [tag]", "source": 1, - "value": "44" + "value": "156" }, { - "begin": 683, - "end": 762, + "begin": 4292, + "end": 4371, "name": "PUSH [tag]", "source": 1, - "value": "45" + "value": "64" }, { - "begin": 683, - "end": 762, + "begin": 4292, + "end": 4371, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 683, - "end": 762, + "begin": 4292, + "end": 4371, "name": "tag", "source": 1, - "value": "44" + "value": "156" }, - { "begin": 683, "end": 762, "name": "JUMPDEST", "source": 1 }, + { "begin": 4292, "end": 4371, "name": "JUMPDEST", "source": 1 }, { - "begin": 642, - "end": 644, + "begin": 4251, + "end": 4373, "name": "tag", "source": 1, - "value": "43" + "value": "155" }, - { "begin": 642, "end": 644, "name": "JUMPDEST", "source": 1 }, - { "begin": 807, "end": 818, "name": "DUP1", "source": 1 }, - { "begin": 799, "end": 805, "name": "DUP7", "source": 1 }, - { "begin": 795, "end": 819, "name": "ADD", "source": 1 }, + { "begin": 4251, "end": 4373, "name": "JUMPDEST", "source": 1 }, + { "begin": 4416, "end": 4427, "name": "DUP1", "source": 1 }, + { "begin": 4408, "end": 4414, "name": "DUP7", "source": 1 }, + { "begin": 4404, "end": 4428, "name": "ADD", "source": 1 }, { - "begin": 845, - "end": 891, + "begin": 4454, + "end": 4500, "name": "PUSH [tag]", "source": 1, - "value": "46" + "value": "157" }, - { "begin": 887, "end": 890, "name": "DUP10", "source": 1 }, - { "begin": 875, "end": 885, "name": "DUP3", "source": 1 }, + { "begin": 4496, "end": 4499, "name": "DUP10", "source": 1 }, + { "begin": 4484, "end": 4494, "name": "DUP3", "source": 1 }, { - "begin": 845, - "end": 891, + "begin": 4454, + "end": 4500, "name": "PUSH [tag]", "source": 1, - "value": "47" + "value": "71" }, { - "begin": 845, - "end": 891, + "begin": 4454, + "end": 4500, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 845, - "end": 891, + "begin": 4454, + "end": 4500, "name": "tag", "source": 1, - "value": "46" + "value": "157" }, - { "begin": 845, "end": 891, "name": "JUMPDEST", "source": 1 }, - { "begin": 840, "end": 843, "name": "DUP6", "source": 1 }, - { "begin": 833, "end": 892, "name": "MSTORE", "source": 1 }, + { "begin": 4454, "end": 4500, "name": "JUMPDEST", "source": 1 }, + { "begin": 4449, "end": 4452, "name": "DUP6", "source": 1 }, + { "begin": 4442, "end": 4501, "name": "MSTORE", "source": 1 }, { - "begin": 921, - "end": 925, + "begin": 4530, + "end": 4534, "name": "PUSH", "source": 1, "value": "20" }, - { "begin": 916, "end": 919, "name": "DUP6", "source": 1 }, - { "begin": 912, "end": 926, "name": "ADD", "source": 1 }, - { "begin": 905, "end": 926, "name": "SWAP5", "source": 1 }, - { "begin": 905, "end": 926, "name": "POP", "source": 1 }, + { "begin": 4525, "end": 4528, "name": "DUP6", "source": 1 }, + { "begin": 4521, "end": 4535, "name": "ADD", "source": 1 }, + { "begin": 4514, "end": 4535, "name": "SWAP5", "source": 1 }, + { "begin": 4514, "end": 4535, "name": "POP", "source": 1 }, + { "begin": 4187, "end": 4545, "name": "POP", "source": 1 }, + { "begin": 4187, "end": 4545, "name": "POP", "source": 1 }, { - "begin": 955, - "end": 959, + "begin": 4171, + "end": 4175, "name": "PUSH", "source": 1, "value": "20" }, - { "begin": 950, "end": 953, "name": "DUP5", "source": 1 }, - { "begin": 946, "end": 960, "name": "ADD", "source": 1 }, - { "begin": 939, "end": 960, "name": "SWAP4", "source": 1 }, - { "begin": 939, "end": 960, "name": "POP", "source": 1 }, - { "begin": 578, "end": 970, "name": "POP", "source": 1 }, - { "begin": 578, "end": 970, "name": "POP", "source": 1 }, - { - "begin": 565, - "end": 566, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { "begin": 562, "end": 563, "name": "DUP2", "source": 1 }, - { "begin": 558, "end": 567, "name": "ADD", "source": 1 }, - { "begin": 553, "end": 567, "name": "SWAP1", "source": 1 }, - { "begin": 553, "end": 567, "name": "POP", "source": 1 }, + { "begin": 4166, "end": 4169, "name": "DUP2", "source": 1 }, + { "begin": 4162, "end": 4176, "name": "ADD", "source": 1 }, + { "begin": 4155, "end": 4176, "name": "SWAP1", "source": 1 }, + { "begin": 4155, "end": 4176, "name": "POP", "source": 1 }, { - "begin": 518, - "end": 970, + "begin": 4111, + "end": 4545, "name": "PUSH [tag]", "source": 1, - "value": "40" + "value": "152" }, - { "begin": 518, "end": 970, "name": "JUMP", "source": 1 }, + { "begin": 4111, "end": 4545, "name": "JUMP", "source": 1 }, { - "begin": 518, - "end": 970, + "begin": 4111, + "end": 4545, "name": "tag", "source": 1, - "value": "42" + "value": "154" }, - { "begin": 518, "end": 970, "name": "JUMPDEST", "source": 1 }, - { "begin": 522, "end": 536, "name": "POP", "source": 1 }, - { "begin": 133, "end": 976, "name": "POP", "source": 1 }, - { "begin": 133, "end": 976, "name": "POP", "source": 1 }, - { "begin": 133, "end": 976, "name": "SWAP4", "source": 1 }, - { "begin": 133, "end": 976, "name": "SWAP3", "source": 1 }, - { "begin": 133, "end": 976, "name": "POP", "source": 1 }, - { "begin": 133, "end": 976, "name": "POP", "source": 1 }, - { "begin": 133, "end": 976, "name": "POP", "source": 1 }, - { - "begin": 133, - "end": 976, + { "begin": 4111, "end": 4545, "name": "JUMPDEST", "source": 1 }, + { "begin": 4115, "end": 4136, "name": "POP", "source": 1 }, + { "begin": 3720, "end": 4551, "name": "POP", "source": 1 }, + { "begin": 3720, "end": 4551, "name": "POP", "source": 1 }, + { "begin": 3609, "end": 4551, "name": "SWAP4", "source": 1 }, + { "begin": 3609, "end": 4551, "name": "SWAP3", "source": 1 }, + { "begin": 3609, "end": 4551, "name": "POP", "source": 1 }, + { "begin": 3609, "end": 4551, "name": "POP", "source": 1 }, + { "begin": 3609, "end": 4551, "name": "POP", "source": 1 }, + { + "begin": 3609, + "end": 4551, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 982, - "end": 1392, + "begin": 4572, + "end": 4960, "name": "tag", "source": 1, - "value": "48" + "value": "73" }, - { "begin": 982, "end": 1392, "name": "JUMPDEST", "source": 1 }, + { "begin": 4572, "end": 4960, "name": "JUMPDEST", "source": 1 }, { - "begin": 1059, - "end": 1064, + "begin": 4652, + "end": 4657, "name": "PUSH", "source": 1, "value": "0" }, + { "begin": 4701, "end": 4704, "name": "DUP3", "source": 1 }, + { + "begin": 4694, + "end": 4698, + "name": "PUSH", + "source": 1, + "value": "1F" + }, + { "begin": 4686, "end": 4692, "name": "DUP4", "source": 1 }, + { "begin": 4682, "end": 4699, "name": "ADD", "source": 1 }, + { "begin": 4678, "end": 4705, "name": "SLT", "source": 1 }, { - "begin": 1084, - "end": 1149, + "begin": 4668, + "end": 4790, "name": "PUSH [tag]", "source": 1, - "value": "50" + "value": "159" }, + { "begin": 4668, "end": 4790, "name": "JUMPI", "source": 1 }, { - "begin": 1100, - "end": 1148, + "begin": 4709, + "end": 4788, "name": "PUSH [tag]", "source": 1, - "value": "51" + "value": "160" }, - { "begin": 1141, "end": 1147, "name": "DUP5", "source": 1 }, { - "begin": 1100, - "end": 1148, + "begin": 4709, + "end": 4788, "name": "PUSH [tag]", "source": 1, - "value": "52" + "value": "64" }, { - "begin": 1100, - "end": 1148, + "begin": 4709, + "end": 4788, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 1100, - "end": 1148, + "begin": 4709, + "end": 4788, "name": "tag", "source": 1, - "value": "51" + "value": "160" + }, + { "begin": 4709, "end": 4788, "name": "JUMPDEST", "source": 1 }, + { + "begin": 4668, + "end": 4790, + "name": "tag", + "source": 1, + "value": "159" + }, + { "begin": 4668, "end": 4790, "name": "JUMPDEST", "source": 1 }, + { "begin": 4826, "end": 4832, "name": "DUP2", "source": 1 }, + { + "begin": 4813, + "end": 4833, + "name": "CALLDATALOAD", + "source": 1 }, - { "begin": 1100, "end": 1148, "name": "JUMPDEST", "source": 1 }, { - "begin": 1084, - "end": 1149, + "begin": 4851, + "end": 4954, "name": "PUSH [tag]", "source": 1, - "value": "36" + "value": "161" + }, + { "begin": 4950, "end": 4953, "name": "DUP5", "source": 1 }, + { "begin": 4942, "end": 4948, "name": "DUP3", "source": 1 }, + { + "begin": 4935, + "end": 4939, + "name": "PUSH", + "source": 1, + "value": "20" }, + { "begin": 4927, "end": 4933, "name": "DUP7", "source": 1 }, + { "begin": 4923, "end": 4940, "name": "ADD", "source": 1 }, { - "begin": 1084, - "end": 1149, + "begin": 4851, + "end": 4954, + "name": "PUSH [tag]", + "source": 1, + "value": "72" + }, + { + "begin": 4851, + "end": 4954, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 1084, - "end": 1149, + "begin": 4851, + "end": 4954, + "name": "tag", + "source": 1, + "value": "161" + }, + { "begin": 4851, "end": 4954, "name": "JUMPDEST", "source": 1 }, + { "begin": 4842, "end": 4954, "name": "SWAP2", "source": 1 }, + { "begin": 4842, "end": 4954, "name": "POP", "source": 1 }, + { "begin": 4658, "end": 4960, "name": "POP", "source": 1 }, + { "begin": 4572, "end": 4960, "name": "SWAP3", "source": 1 }, + { "begin": 4572, "end": 4960, "name": "SWAP2", "source": 1 }, + { "begin": 4572, "end": 4960, "name": "POP", "source": 1 }, + { "begin": 4572, "end": 4960, "name": "POP", "source": 1 }, + { + "begin": 4572, + "end": 4960, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 5002, + "end": 5778, "name": "tag", "source": 1, - "value": "50" + "value": "74" }, - { "begin": 1084, "end": 1149, "name": "JUMPDEST", "source": 1 }, - { "begin": 1075, "end": 1149, "name": "SWAP1", "source": 1 }, - { "begin": 1075, "end": 1149, "name": "POP", "source": 1 }, - { "begin": 1172, "end": 1178, "name": "DUP3", "source": 1 }, - { "begin": 1165, "end": 1170, "name": "DUP2", "source": 1 }, - { "begin": 1158, "end": 1179, "name": "MSTORE", "source": 1 }, + { "begin": 5002, "end": 5778, "name": "JUMPDEST", "source": 1 }, { - "begin": 1210, - "end": 1214, + "begin": 5079, + "end": 5084, "name": "PUSH", "source": 1, - "value": "20" + "value": "0" }, - { "begin": 1203, "end": 1208, "name": "DUP2", "source": 1 }, - { "begin": 1199, "end": 1215, "name": "ADD", "source": 1 }, - { "begin": 1248, "end": 1251, "name": "DUP5", "source": 1 }, - { "begin": 1239, "end": 1245, "name": "DUP5", "source": 1 }, - { "begin": 1234, "end": 1237, "name": "DUP5", "source": 1 }, - { "begin": 1230, "end": 1246, "name": "ADD", "source": 1 }, - { "begin": 1227, "end": 1252, "name": "GT", "source": 1 }, - { "begin": 1224, "end": 1226, "name": "ISZERO", "source": 1 }, { - "begin": 1224, - "end": 1226, + "begin": 5123, + "end": 5127, + "name": "PUSH", + "source": 1, + "value": "40" + }, + { "begin": 5111, "end": 5120, "name": "DUP3", "source": 1 }, + { "begin": 5106, "end": 5109, "name": "DUP5", "source": 1 }, + { "begin": 5102, "end": 5121, "name": "SUB", "source": 1 }, + { "begin": 5098, "end": 5128, "name": "SLT", "source": 1 }, + { "begin": 5095, "end": 5212, "name": "ISZERO", "source": 1 }, + { + "begin": 5095, + "end": 5212, "name": "PUSH [tag]", "source": 1, - "value": "53" + "value": "163" }, - { "begin": 1224, "end": 1226, "name": "JUMPI", "source": 1 }, + { "begin": 5095, "end": 5212, "name": "JUMPI", "source": 1 }, { - "begin": 1255, - "end": 1334, + "begin": 5131, + "end": 5210, "name": "PUSH [tag]", "source": 1, - "value": "54" + "value": "164" }, { - "begin": 1255, - "end": 1334, + "begin": 5131, + "end": 5210, "name": "PUSH [tag]", "source": 1, "value": "55" }, { - "begin": 1255, - "end": 1334, + "begin": 5131, + "end": 5210, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 1255, - "end": 1334, + "begin": 5131, + "end": 5210, "name": "tag", "source": 1, - "value": "54" + "value": "164" }, - { "begin": 1255, "end": 1334, "name": "JUMPDEST", "source": 1 }, + { "begin": 5131, "end": 5210, "name": "JUMPDEST", "source": 1 }, { - "begin": 1224, - "end": 1226, + "begin": 5095, + "end": 5212, "name": "tag", "source": 1, - "value": "53" + "value": "163" }, - { "begin": 1224, "end": 1226, "name": "JUMPDEST", "source": 1 }, + { "begin": 5095, "end": 5212, "name": "JUMPDEST", "source": 1 }, { - "begin": 1345, - "end": 1386, + "begin": 5230, + "end": 5251, "name": "PUSH [tag]", "source": 1, - "value": "56" + "value": "165" + }, + { + "begin": 5246, + "end": 5250, + "name": "PUSH", + "source": 1, + "value": "40" }, - { "begin": 1379, "end": 1385, "name": "DUP5", "source": 1 }, - { "begin": 1374, "end": 1377, "name": "DUP3", "source": 1 }, - { "begin": 1369, "end": 1372, "name": "DUP6", "source": 1 }, { - "begin": 1345, - "end": 1386, + "begin": 5230, + "end": 5251, "name": "PUSH [tag]", "source": 1, - "value": "57" + "value": "59" }, { - "begin": 1345, - "end": 1386, + "begin": 5230, + "end": 5251, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 1345, - "end": 1386, + "begin": 5230, + "end": 5251, "name": "tag", "source": 1, - "value": "56" + "value": "165" + }, + { "begin": 5230, "end": 5251, "name": "JUMPDEST", "source": 1 }, + { "begin": 5221, "end": 5251, "name": "SWAP1", "source": 1 }, + { "begin": 5221, "end": 5251, "name": "POP", "source": 1 }, + { + "begin": 5313, + "end": 5314, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { + "begin": 5353, + "end": 5400, + "name": "PUSH [tag]", + "source": 1, + "value": "166" }, - { "begin": 1345, "end": 1386, "name": "JUMPDEST", "source": 1 }, - { "begin": 1065, "end": 1392, "name": "POP", "source": 1 }, - { "begin": 1065, "end": 1392, "name": "SWAP4", "source": 1 }, - { "begin": 1065, "end": 1392, "name": "SWAP3", "source": 1 }, - { "begin": 1065, "end": 1392, "name": "POP", "source": 1 }, - { "begin": 1065, "end": 1392, "name": "POP", "source": 1 }, - { "begin": 1065, "end": 1392, "name": "POP", "source": 1 }, + { "begin": 5396, "end": 5399, "name": "DUP5", "source": 1 }, + { "begin": 5387, "end": 5393, "name": "DUP3", "source": 1 }, + { "begin": 5376, "end": 5385, "name": "DUP6", "source": 1 }, + { "begin": 5372, "end": 5394, "name": "ADD", "source": 1 }, { - "begin": 1065, - "end": 1392, + "begin": 5353, + "end": 5400, + "name": "PUSH [tag]", + "source": 1, + "value": "63" + }, + { + "begin": 5353, + "end": 5400, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 1398, - "end": 1537, + "begin": 5353, + "end": 5400, "name": "tag", "source": 1, - "value": "58" + "value": "166" }, - { "begin": 1398, "end": 1537, "name": "JUMPDEST", "source": 1 }, + { "begin": 5353, "end": 5400, "name": "JUMPDEST", "source": 1 }, { - "begin": 1444, - "end": 1449, + "begin": 5346, + "end": 5350, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 1482, "end": 1488, "name": "DUP2", "source": 1 }, + { "begin": 5339, "end": 5344, "name": "DUP4", "source": 1 }, + { "begin": 5335, "end": 5351, "name": "ADD", "source": 1 }, + { "begin": 5328, "end": 5401, "name": "MSTORE", "source": 1 }, + { "begin": 5261, "end": 5412, "name": "POP", "source": 1 }, + { + "begin": 5503, + "end": 5505, + "name": "PUSH", + "source": 1, + "value": "20" + }, + { "begin": 5492, "end": 5501, "name": "DUP3", "source": 1 }, + { "begin": 5488, "end": 5506, "name": "ADD", "source": 1 }, + { + "begin": 5475, + "end": 5507, + "name": "CALLDATALOAD", + "source": 1 + }, + { + "begin": 5534, + "end": 5552, + "name": "PUSH", + "source": 1, + "value": "FFFFFFFFFFFFFFFF" + }, + { "begin": 5526, "end": 5532, "name": "DUP2", "source": 1 }, + { "begin": 5523, "end": 5553, "name": "GT", "source": 1 }, + { "begin": 5520, "end": 5637, "name": "ISZERO", "source": 1 }, + { + "begin": 5520, + "end": 5637, + "name": "PUSH [tag]", + "source": 1, + "value": "167" + }, + { "begin": 5520, "end": 5637, "name": "JUMPI", "source": 1 }, + { + "begin": 5556, + "end": 5635, + "name": "PUSH [tag]", + "source": 1, + "value": "168" + }, + { + "begin": 5556, + "end": 5635, + "name": "PUSH [tag]", + "source": 1, + "value": "60" + }, + { + "begin": 5556, + "end": 5635, + "name": "JUMP", + "source": 1, + "value": "[in]" + }, + { + "begin": 5556, + "end": 5635, + "name": "tag", + "source": 1, + "value": "168" + }, + { "begin": 5556, "end": 5635, "name": "JUMPDEST", "source": 1 }, { - "begin": 1469, - "end": 1489, - "name": "CALLDATALOAD", - "source": 1 + "begin": 5520, + "end": 5637, + "name": "tag", + "source": 1, + "value": "167" }, - { "begin": 1460, "end": 1489, "name": "SWAP1", "source": 1 }, - { "begin": 1460, "end": 1489, "name": "POP", "source": 1 }, + { "begin": 5520, "end": 5637, "name": "JUMPDEST", "source": 1 }, { - "begin": 1498, - "end": 1531, + "begin": 5676, + "end": 5759, "name": "PUSH [tag]", "source": 1, - "value": "60" + "value": "169" }, - { "begin": 1525, "end": 1530, "name": "DUP2", "source": 1 }, + { "begin": 5755, "end": 5758, "name": "DUP5", "source": 1 }, + { "begin": 5746, "end": 5752, "name": "DUP3", "source": 1 }, + { "begin": 5735, "end": 5744, "name": "DUP6", "source": 1 }, + { "begin": 5731, "end": 5753, "name": "ADD", "source": 1 }, { - "begin": 1498, - "end": 1531, + "begin": 5676, + "end": 5759, "name": "PUSH [tag]", "source": 1, - "value": "61" + "value": "73" }, { - "begin": 1498, - "end": 1531, + "begin": 5676, + "end": 5759, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 1498, - "end": 1531, + "begin": 5676, + "end": 5759, "name": "tag", "source": 1, - "value": "60" + "value": "169" }, - { "begin": 1498, "end": 1531, "name": "JUMPDEST", "source": 1 }, - { "begin": 1450, "end": 1537, "name": "SWAP3", "source": 1 }, - { "begin": 1450, "end": 1537, "name": "SWAP2", "source": 1 }, - { "begin": 1450, "end": 1537, "name": "POP", "source": 1 }, - { "begin": 1450, "end": 1537, "name": "POP", "source": 1 }, + { "begin": 5676, "end": 5759, "name": "JUMPDEST", "source": 1 }, { - "begin": 1450, - "end": 1537, + "begin": 5669, + "end": 5673, + "name": "PUSH", + "source": 1, + "value": "20" + }, + { "begin": 5662, "end": 5667, "name": "DUP4", "source": 1 }, + { "begin": 5658, "end": 5674, "name": "ADD", "source": 1 }, + { "begin": 5651, "end": 5760, "name": "MSTORE", "source": 1 }, + { "begin": 5422, "end": 5771, "name": "POP", "source": 1 }, + { "begin": 5002, "end": 5778, "name": "SWAP3", "source": 1 }, + { "begin": 5002, "end": 5778, "name": "SWAP2", "source": 1 }, + { "begin": 5002, "end": 5778, "name": "POP", "source": 1 }, + { "begin": 5002, "end": 5778, "name": "POP", "source": 1 }, + { + "begin": 5002, + "end": 5778, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 1558, - "end": 1946, + "begin": 5784, + "end": 5861, "name": "tag", "source": 1, - "value": "62" + "value": "75" }, - { "begin": 1558, "end": 1946, "name": "JUMPDEST", "source": 1 }, + { "begin": 5784, "end": 5861, "name": "JUMPDEST", "source": 1 }, { - "begin": 1638, - "end": 1643, + "begin": 5821, + "end": 5828, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 1687, "end": 1690, "name": "DUP3", "source": 1 }, + { "begin": 5850, "end": 5855, "name": "DUP2", "source": 1 }, + { "begin": 5839, "end": 5855, "name": "SWAP1", "source": 1 }, + { "begin": 5839, "end": 5855, "name": "POP", "source": 1 }, + { "begin": 5784, "end": 5861, "name": "SWAP2", "source": 1 }, + { "begin": 5784, "end": 5861, "name": "SWAP1", "source": 1 }, + { "begin": 5784, "end": 5861, "name": "POP", "source": 1 }, { - "begin": 1680, - "end": 1684, - "name": "PUSH", + "begin": 5784, + "end": 5861, + "name": "JUMP", "source": 1, - "value": "1F" + "value": "[out]" }, - { "begin": 1672, "end": 1678, "name": "DUP4", "source": 1 }, - { "begin": 1668, "end": 1685, "name": "ADD", "source": 1 }, - { "begin": 1664, "end": 1691, "name": "SLT", "source": 1 }, { - "begin": 1654, - "end": 1656, - "name": "PUSH [tag]", + "begin": 5867, + "end": 5989, + "name": "tag", "source": 1, - "value": "64" + "value": "76" }, - { "begin": 1654, "end": 1656, "name": "JUMPI", "source": 1 }, + { "begin": 5867, "end": 5989, "name": "JUMPDEST", "source": 1 }, { - "begin": 1695, - "end": 1774, + "begin": 5940, + "end": 5964, "name": "PUSH [tag]", "source": 1, - "value": "65" + "value": "172" }, + { "begin": 5958, "end": 5963, "name": "DUP2", "source": 1 }, { - "begin": 1695, - "end": 1774, + "begin": 5940, + "end": 5964, "name": "PUSH [tag]", "source": 1, - "value": "45" + "value": "75" }, { - "begin": 1695, - "end": 1774, + "begin": 5940, + "end": 5964, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 1695, - "end": 1774, + "begin": 5940, + "end": 5964, "name": "tag", "source": 1, - "value": "65" + "value": "172" + }, + { "begin": 5940, "end": 5964, "name": "JUMPDEST", "source": 1 }, + { "begin": 5933, "end": 5938, "name": "DUP2", "source": 1 }, + { "begin": 5930, "end": 5965, "name": "EQ", "source": 1 }, + { + "begin": 5920, + "end": 5983, + "name": "PUSH [tag]", + "source": 1, + "value": "173" + }, + { "begin": 5920, "end": 5983, "name": "JUMPI", "source": 1 }, + { + "begin": 5979, + "end": 5980, + "name": "PUSH", + "source": 1, + "value": "0" }, - { "begin": 1695, "end": 1774, "name": "JUMPDEST", "source": 1 }, + { "begin": 5976, "end": 5977, "name": "DUP1", "source": 1 }, + { "begin": 5969, "end": 5981, "name": "REVERT", "source": 1 }, { - "begin": 1654, - "end": 1656, + "begin": 5920, + "end": 5983, "name": "tag", "source": 1, - "value": "64" + "value": "173" }, - { "begin": 1654, "end": 1656, "name": "JUMPDEST", "source": 1 }, - { "begin": 1812, "end": 1818, "name": "DUP2", "source": 1 }, + { "begin": 5920, "end": 5983, "name": "JUMPDEST", "source": 1 }, + { "begin": 5867, "end": 5989, "name": "POP", "source": 1 }, { - "begin": 1799, - "end": 1819, - "name": "CALLDATALOAD", - "source": 1 + "begin": 5867, + "end": 5989, + "name": "JUMP", + "source": 1, + "value": "[out]" }, { - "begin": 1837, - "end": 1940, - "name": "PUSH [tag]", + "begin": 5995, + "end": 6134, + "name": "tag", "source": 1, - "value": "66" + "value": "77" }, - { "begin": 1936, "end": 1939, "name": "DUP5", "source": 1 }, - { "begin": 1928, "end": 1934, "name": "DUP3", "source": 1 }, + { "begin": 5995, "end": 6134, "name": "JUMPDEST", "source": 1 }, { - "begin": 1921, - "end": 1925, + "begin": 6041, + "end": 6046, "name": "PUSH", "source": 1, - "value": "20" + "value": "0" }, - { "begin": 1913, "end": 1919, "name": "DUP7", "source": 1 }, - { "begin": 1909, "end": 1926, "name": "ADD", "source": 1 }, + { "begin": 6079, "end": 6085, "name": "DUP2", "source": 1 }, { - "begin": 1837, - "end": 1940, + "begin": 6066, + "end": 6086, + "name": "CALLDATALOAD", + "source": 1 + }, + { "begin": 6057, "end": 6086, "name": "SWAP1", "source": 1 }, + { "begin": 6057, "end": 6086, "name": "POP", "source": 1 }, + { + "begin": 6095, + "end": 6128, "name": "PUSH [tag]", "source": 1, - "value": "31" + "value": "175" + }, + { "begin": 6122, "end": 6127, "name": "DUP2", "source": 1 }, + { + "begin": 6095, + "end": 6128, + "name": "PUSH [tag]", + "source": 1, + "value": "76" }, { - "begin": 1837, - "end": 1940, + "begin": 6095, + "end": 6128, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 1837, - "end": 1940, + "begin": 6095, + "end": 6128, "name": "tag", "source": 1, - "value": "66" + "value": "175" }, - { "begin": 1837, "end": 1940, "name": "JUMPDEST", "source": 1 }, - { "begin": 1828, "end": 1940, "name": "SWAP2", "source": 1 }, - { "begin": 1828, "end": 1940, "name": "POP", "source": 1 }, - { "begin": 1644, "end": 1946, "name": "POP", "source": 1 }, - { "begin": 1644, "end": 1946, "name": "SWAP3", "source": 1 }, - { "begin": 1644, "end": 1946, "name": "SWAP2", "source": 1 }, - { "begin": 1644, "end": 1946, "name": "POP", "source": 1 }, - { "begin": 1644, "end": 1946, "name": "POP", "source": 1 }, + { "begin": 6095, "end": 6128, "name": "JUMPDEST", "source": 1 }, + { "begin": 5995, "end": 6134, "name": "SWAP3", "source": 1 }, + { "begin": 5995, "end": 6134, "name": "SWAP2", "source": 1 }, + { "begin": 5995, "end": 6134, "name": "POP", "source": 1 }, + { "begin": 5995, "end": 6134, "name": "POP", "source": 1 }, { - "begin": 1644, - "end": 1946, + "begin": 5995, + "end": 6134, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 1965, - "end": 2303, + "begin": 6140, + "end": 6241, "name": "tag", "source": 1, - "value": "47" + "value": "78" }, - { "begin": 1965, "end": 2303, "name": "JUMPDEST", "source": 1 }, + { "begin": 6140, "end": 6241, "name": "JUMPDEST", "source": 1 }, { - "begin": 2020, - "end": 2025, + "begin": 6176, + "end": 6183, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 2069, "end": 2072, "name": "DUP3", "source": 1 }, { - "begin": 2062, - "end": 2066, + "begin": 6216, + "end": 6234, "name": "PUSH", "source": 1, - "value": "1F" + "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 2054, "end": 2060, "name": "DUP4", "source": 1 }, - { "begin": 2050, "end": 2067, "name": "ADD", "source": 1 }, - { "begin": 2046, "end": 2073, "name": "SLT", "source": 1 }, + { "begin": 6209, "end": 6214, "name": "DUP3", "source": 1 }, + { "begin": 6205, "end": 6235, "name": "AND", "source": 1 }, + { "begin": 6194, "end": 6235, "name": "SWAP1", "source": 1 }, + { "begin": 6194, "end": 6235, "name": "POP", "source": 1 }, + { "begin": 6140, "end": 6241, "name": "SWAP2", "source": 1 }, + { "begin": 6140, "end": 6241, "name": "SWAP1", "source": 1 }, + { "begin": 6140, "end": 6241, "name": "POP", "source": 1 }, { - "begin": 2036, - "end": 2038, - "name": "PUSH [tag]", + "begin": 6140, + "end": 6241, + "name": "JUMP", "source": 1, - "value": "68" + "value": "[out]" }, - { "begin": 2036, "end": 2038, "name": "JUMPI", "source": 1 }, { - "begin": 2077, - "end": 2156, - "name": "PUSH [tag]", + "begin": 6247, + "end": 6367, + "name": "tag", "source": 1, - "value": "69" + "value": "79" }, + { "begin": 6247, "end": 6367, "name": "JUMPDEST", "source": 1 }, { - "begin": 2077, - "end": 2156, + "begin": 6319, + "end": 6342, "name": "PUSH [tag]", "source": 1, - "value": "45" + "value": "178" }, + { "begin": 6336, "end": 6341, "name": "DUP2", "source": 1 }, { - "begin": 2077, - "end": 2156, - "name": "JUMP", + "begin": 6319, + "end": 6342, + "name": "PUSH [tag]", "source": 1, - "value": "[in]" + "value": "78" }, { - "begin": 2077, - "end": 2156, - "name": "tag", + "begin": 6319, + "end": 6342, + "name": "JUMP", "source": 1, - "value": "69" + "value": "[in]" }, - { "begin": 2077, "end": 2156, "name": "JUMPDEST", "source": 1 }, { - "begin": 2036, - "end": 2038, + "begin": 6319, + "end": 6342, "name": "tag", "source": 1, - "value": "68" - }, - { "begin": 2036, "end": 2038, "name": "JUMPDEST", "source": 1 }, - { "begin": 2194, "end": 2200, "name": "DUP2", "source": 1 }, - { - "begin": 2181, - "end": 2201, - "name": "CALLDATALOAD", - "source": 1 + "value": "178" }, + { "begin": 6319, "end": 6342, "name": "JUMPDEST", "source": 1 }, + { "begin": 6312, "end": 6317, "name": "DUP2", "source": 1 }, + { "begin": 6309, "end": 6343, "name": "EQ", "source": 1 }, { - "begin": 2219, - "end": 2297, + "begin": 6299, + "end": 6361, "name": "PUSH [tag]", "source": 1, - "value": "70" + "value": "179" }, - { "begin": 2293, "end": 2296, "name": "DUP5", "source": 1 }, - { "begin": 2285, "end": 2291, "name": "DUP3", "source": 1 }, + { "begin": 6299, "end": 6361, "name": "JUMPI", "source": 1 }, { - "begin": 2278, - "end": 2282, + "begin": 6357, + "end": 6358, "name": "PUSH", "source": 1, - "value": "20" - }, - { "begin": 2270, "end": 2276, "name": "DUP7", "source": 1 }, - { "begin": 2266, "end": 2283, "name": "ADD", "source": 1 }, - { - "begin": 2219, - "end": 2297, - "name": "PUSH [tag]", - "source": 1, - "value": "48" - }, - { - "begin": 2219, - "end": 2297, - "name": "JUMP", - "source": 1, - "value": "[in]" + "value": "0" }, + { "begin": 6354, "end": 6355, "name": "DUP1", "source": 1 }, + { "begin": 6347, "end": 6359, "name": "REVERT", "source": 1 }, { - "begin": 2219, - "end": 2297, + "begin": 6299, + "end": 6361, "name": "tag", "source": 1, - "value": "70" + "value": "179" }, - { "begin": 2219, "end": 2297, "name": "JUMPDEST", "source": 1 }, - { "begin": 2210, "end": 2297, "name": "SWAP2", "source": 1 }, - { "begin": 2210, "end": 2297, "name": "POP", "source": 1 }, - { "begin": 2026, "end": 2303, "name": "POP", "source": 1 }, - { "begin": 2026, "end": 2303, "name": "SWAP3", "source": 1 }, - { "begin": 2026, "end": 2303, "name": "SWAP2", "source": 1 }, - { "begin": 2026, "end": 2303, "name": "POP", "source": 1 }, - { "begin": 2026, "end": 2303, "name": "POP", "source": 1 }, + { "begin": 6299, "end": 6361, "name": "JUMPDEST", "source": 1 }, + { "begin": 6247, "end": 6367, "name": "POP", "source": 1 }, { - "begin": 2026, - "end": 2303, + "begin": 6247, + "end": 6367, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 2345, - "end": 3121, + "begin": 6373, + "end": 6510, "name": "tag", "source": 1, - "value": "71" + "value": "80" }, - { "begin": 2345, "end": 3121, "name": "JUMPDEST", "source": 1 }, + { "begin": 6373, "end": 6510, "name": "JUMPDEST", "source": 1 }, { - "begin": 2422, - "end": 2427, + "begin": 6418, + "end": 6423, "name": "PUSH", "source": 1, "value": "0" }, + { "begin": 6456, "end": 6462, "name": "DUP2", "source": 1 }, { - "begin": 2466, - "end": 2470, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { "begin": 2454, "end": 2463, "name": "DUP3", "source": 1 }, - { "begin": 2449, "end": 2452, "name": "DUP5", "source": 1 }, - { "begin": 2445, "end": 2464, "name": "SUB", "source": 1 }, - { "begin": 2441, "end": 2471, "name": "SLT", "source": 1 }, - { "begin": 2438, "end": 2440, "name": "ISZERO", "source": 1 }, - { - "begin": 2438, - "end": 2440, - "name": "PUSH [tag]", - "source": 1, - "value": "73" + "begin": 6443, + "end": 6463, + "name": "CALLDATALOAD", + "source": 1 }, - { "begin": 2438, "end": 2440, "name": "JUMPI", "source": 1 }, + { "begin": 6434, "end": 6463, "name": "SWAP1", "source": 1 }, + { "begin": 6434, "end": 6463, "name": "POP", "source": 1 }, { - "begin": 2474, - "end": 2553, + "begin": 6472, + "end": 6504, "name": "PUSH [tag]", "source": 1, - "value": "74" + "value": "181" }, + { "begin": 6498, "end": 6503, "name": "DUP2", "source": 1 }, { - "begin": 2474, - "end": 2553, + "begin": 6472, + "end": 6504, "name": "PUSH [tag]", "source": 1, - "value": "75" + "value": "79" }, { - "begin": 2474, - "end": 2553, + "begin": 6472, + "end": 6504, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 2474, - "end": 2553, + "begin": 6472, + "end": 6504, "name": "tag", "source": 1, - "value": "74" + "value": "181" }, - { "begin": 2474, "end": 2553, "name": "JUMPDEST", "source": 1 }, + { "begin": 6472, "end": 6504, "name": "JUMPDEST", "source": 1 }, + { "begin": 6373, "end": 6510, "name": "SWAP3", "source": 1 }, + { "begin": 6373, "end": 6510, "name": "SWAP2", "source": 1 }, + { "begin": 6373, "end": 6510, "name": "POP", "source": 1 }, + { "begin": 6373, "end": 6510, "name": "POP", "source": 1 }, { - "begin": 2438, - "end": 2440, - "name": "tag", + "begin": 6373, + "end": 6510, + "name": "JUMP", "source": 1, - "value": "73" + "value": "[out]" }, - { "begin": 2438, "end": 2440, "name": "JUMPDEST", "source": 1 }, { - "begin": 2573, - "end": 2594, - "name": "PUSH [tag]", + "begin": 6516, + "end": 7857, + "name": "tag", "source": 1, - "value": "76" + "value": "10" }, + { "begin": 6516, "end": 7857, "name": "JUMPDEST", "source": 1 }, { - "begin": 2589, - "end": 2593, + "begin": 6666, + "end": 6672, "name": "PUSH", "source": 1, - "value": "40" + "value": "0" }, + { "begin": 6674, "end": 6680, "name": "DUP1", "source": 1 }, { - "begin": 2573, - "end": 2594, - "name": "PUSH [tag]", + "begin": 6682, + "end": 6688, + "name": "PUSH", "source": 1, - "value": "36" + "value": "0" }, + { "begin": 6690, "end": 6696, "name": "DUP1", "source": 1 }, { - "begin": 2573, - "end": 2594, - "name": "JUMP", + "begin": 6698, + "end": 6704, + "name": "PUSH", "source": 1, - "value": "[in]" + "value": "0" }, { - "begin": 2573, - "end": 2594, - "name": "tag", + "begin": 6747, + "end": 6750, + "name": "PUSH", "source": 1, - "value": "76" + "value": "A0" }, - { "begin": 2573, "end": 2594, "name": "JUMPDEST", "source": 1 }, - { "begin": 2564, "end": 2594, "name": "SWAP1", "source": 1 }, - { "begin": 2564, "end": 2594, "name": "POP", "source": 1 }, + { "begin": 6735, "end": 6744, "name": "DUP7", "source": 1 }, + { "begin": 6726, "end": 6733, "name": "DUP9", "source": 1 }, + { "begin": 6722, "end": 6745, "name": "SUB", "source": 1 }, + { "begin": 6718, "end": 6751, "name": "SLT", "source": 1 }, + { "begin": 6715, "end": 6835, "name": "ISZERO", "source": 1 }, { - "begin": 2656, - "end": 2657, - "name": "PUSH", + "begin": 6715, + "end": 6835, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "183" }, + { "begin": 6715, "end": 6835, "name": "JUMPI", "source": 1 }, { - "begin": 2696, - "end": 2743, + "begin": 6754, + "end": 6833, "name": "PUSH [tag]", "source": 1, - "value": "77" + "value": "184" }, - { "begin": 2739, "end": 2742, "name": "DUP5", "source": 1 }, - { "begin": 2730, "end": 2736, "name": "DUP3", "source": 1 }, - { "begin": 2719, "end": 2728, "name": "DUP6", "source": 1 }, - { "begin": 2715, "end": 2737, "name": "ADD", "source": 1 }, { - "begin": 2696, - "end": 2743, + "begin": 6754, + "end": 6833, "name": "PUSH [tag]", "source": 1, - "value": "78" + "value": "53" }, { - "begin": 2696, - "end": 2743, + "begin": 6754, + "end": 6833, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 2696, - "end": 2743, + "begin": 6754, + "end": 6833, "name": "tag", "source": 1, - "value": "77" + "value": "184" }, - { "begin": 2696, "end": 2743, "name": "JUMPDEST", "source": 1 }, + { "begin": 6754, "end": 6833, "name": "JUMPDEST", "source": 1 }, { - "begin": 2689, - "end": 2693, - "name": "PUSH", + "begin": 6715, + "end": 6835, + "name": "tag", "source": 1, - "value": "0" + "value": "183" }, - { "begin": 2682, "end": 2687, "name": "DUP4", "source": 1 }, - { "begin": 2678, "end": 2694, "name": "ADD", "source": 1 }, - { "begin": 2671, "end": 2744, "name": "MSTORE", "source": 1 }, - { "begin": 2604, "end": 2755, "name": "POP", "source": 1 }, + { "begin": 6715, "end": 6835, "name": "JUMPDEST", "source": 1 }, { - "begin": 2846, - "end": 2848, + "begin": 6902, + "end": 6903, "name": "PUSH", "source": 1, - "value": "20" + "value": "0" }, - { "begin": 2835, "end": 2844, "name": "DUP3", "source": 1 }, - { "begin": 2831, "end": 2849, "name": "ADD", "source": 1 }, + { "begin": 6891, "end": 6900, "name": "DUP7", "source": 1 }, + { "begin": 6887, "end": 6904, "name": "ADD", "source": 1 }, { - "begin": 2818, - "end": 2850, + "begin": 6874, + "end": 6905, "name": "CALLDATALOAD", "source": 1 }, { - "begin": 2877, - "end": 2895, + "begin": 6932, + "end": 6950, "name": "PUSH", "source": 1, "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 2869, "end": 2875, "name": "DUP2", "source": 1 }, - { "begin": 2866, "end": 2896, "name": "GT", "source": 1 }, - { "begin": 2863, "end": 2865, "name": "ISZERO", "source": 1 }, + { "begin": 6924, "end": 6930, "name": "DUP2", "source": 1 }, + { "begin": 6921, "end": 6951, "name": "GT", "source": 1 }, + { "begin": 6918, "end": 7035, "name": "ISZERO", "source": 1 }, { - "begin": 2863, - "end": 2865, + "begin": 6918, + "end": 7035, "name": "PUSH [tag]", "source": 1, - "value": "79" + "value": "185" }, - { "begin": 2863, "end": 2865, "name": "JUMPI", "source": 1 }, + { "begin": 6918, "end": 7035, "name": "JUMPI", "source": 1 }, { - "begin": 2899, - "end": 2978, + "begin": 6954, + "end": 7033, "name": "PUSH [tag]", "source": 1, - "value": "80" + "value": "186" }, { - "begin": 2899, - "end": 2978, + "begin": 6954, + "end": 7033, "name": "PUSH [tag]", "source": 1, - "value": "81" + "value": "54" }, { - "begin": 2899, - "end": 2978, + "begin": 6954, + "end": 7033, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 2899, - "end": 2978, + "begin": 6954, + "end": 7033, "name": "tag", "source": 1, - "value": "80" + "value": "186" }, - { "begin": 2899, "end": 2978, "name": "JUMPDEST", "source": 1 }, + { "begin": 6954, "end": 7033, "name": "JUMPDEST", "source": 1 }, { - "begin": 2863, - "end": 2865, + "begin": 6918, + "end": 7035, "name": "tag", "source": 1, - "value": "79" + "value": "185" }, - { "begin": 2863, "end": 2865, "name": "JUMPDEST", "source": 1 }, + { "begin": 6918, "end": 7035, "name": "JUMPDEST", "source": 1 }, { - "begin": 3019, - "end": 3102, + "begin": 7059, + "end": 7140, "name": "PUSH [tag]", "source": 1, - "value": "82" + "value": "187" }, - { "begin": 3098, "end": 3101, "name": "DUP5", "source": 1 }, - { "begin": 3089, "end": 3095, "name": "DUP3", "source": 1 }, - { "begin": 3078, "end": 3087, "name": "DUP6", "source": 1 }, - { "begin": 3074, "end": 3096, "name": "ADD", "source": 1 }, + { "begin": 7132, "end": 7139, "name": "DUP9", "source": 1 }, + { "begin": 7123, "end": 7129, "name": "DUP3", "source": 1 }, + { "begin": 7112, "end": 7121, "name": "DUP10", "source": 1 }, + { "begin": 7108, "end": 7130, "name": "ADD", "source": 1 }, { - "begin": 3019, - "end": 3102, + "begin": 7059, + "end": 7140, "name": "PUSH [tag]", "source": 1, - "value": "62" + "value": "74" }, { - "begin": 3019, - "end": 3102, + "begin": 7059, + "end": 7140, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 3019, - "end": 3102, + "begin": 7059, + "end": 7140, "name": "tag", "source": 1, - "value": "82" + "value": "187" }, - { "begin": 3019, "end": 3102, "name": "JUMPDEST", "source": 1 }, + { "begin": 7059, "end": 7140, "name": "JUMPDEST", "source": 1 }, + { "begin": 7049, "end": 7140, "name": "SWAP6", "source": 1 }, + { "begin": 7049, "end": 7140, "name": "POP", "source": 1 }, + { "begin": 6845, "end": 7150, "name": "POP", "source": 1 }, { - "begin": 3012, - "end": 3016, + "begin": 7189, + "end": 7191, "name": "PUSH", "source": 1, "value": "20" }, - { "begin": 3005, "end": 3010, "name": "DUP4", "source": 1 }, - { "begin": 3001, "end": 3017, "name": "ADD", "source": 1 }, - { "begin": 2994, "end": 3103, "name": "MSTORE", "source": 1 }, - { "begin": 2765, "end": 3114, "name": "POP", "source": 1 }, - { "begin": 2428, "end": 3121, "name": "SWAP3", "source": 1 }, - { "begin": 2428, "end": 3121, "name": "SWAP2", "source": 1 }, - { "begin": 2428, "end": 3121, "name": "POP", "source": 1 }, - { "begin": 2428, "end": 3121, "name": "POP", "source": 1 }, - { - "begin": 2428, - "end": 3121, - "name": "JUMP", - "source": 1, - "value": "[out]" - }, - { - "begin": 3127, - "end": 3266, - "name": "tag", - "source": 1, - "value": "83" - }, - { "begin": 3127, "end": 3266, "name": "JUMPDEST", "source": 1 }, { - "begin": 3173, - "end": 3178, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { "begin": 3211, "end": 3217, "name": "DUP2", "source": 1 }, - { - "begin": 3198, - "end": 3218, - "name": "CALLDATALOAD", - "source": 1 - }, - { "begin": 3189, "end": 3218, "name": "SWAP1", "source": 1 }, - { "begin": 3189, "end": 3218, "name": "POP", "source": 1 }, - { - "begin": 3227, - "end": 3260, + "begin": 7215, + "end": 7268, "name": "PUSH [tag]", "source": 1, - "value": "85" + "value": "188" }, - { "begin": 3254, "end": 3259, "name": "DUP2", "source": 1 }, + { "begin": 7260, "end": 7267, "name": "DUP9", "source": 1 }, + { "begin": 7251, "end": 7257, "name": "DUP3", "source": 1 }, + { "begin": 7240, "end": 7249, "name": "DUP10", "source": 1 }, + { "begin": 7236, "end": 7258, "name": "ADD", "source": 1 }, { - "begin": 3227, - "end": 3260, + "begin": 7215, + "end": 7268, "name": "PUSH [tag]", "source": 1, - "value": "86" + "value": "77" }, { - "begin": 3227, - "end": 3260, + "begin": 7215, + "end": 7268, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 3227, - "end": 3260, - "name": "tag", - "source": 1, - "value": "85" - }, - { "begin": 3227, "end": 3260, "name": "JUMPDEST", "source": 1 }, - { "begin": 3179, "end": 3266, "name": "SWAP3", "source": 1 }, - { "begin": 3179, "end": 3266, "name": "SWAP2", "source": 1 }, - { "begin": 3179, "end": 3266, "name": "POP", "source": 1 }, - { "begin": 3179, "end": 3266, "name": "POP", "source": 1 }, - { - "begin": 3179, - "end": 3266, - "name": "JUMP", - "source": 1, - "value": "[out]" - }, - { - "begin": 3272, - "end": 3409, + "begin": 7215, + "end": 7268, "name": "tag", "source": 1, - "value": "87" + "value": "188" }, - { "begin": 3272, "end": 3409, "name": "JUMPDEST", "source": 1 }, + { "begin": 7215, "end": 7268, "name": "JUMPDEST", "source": 1 }, + { "begin": 7205, "end": 7268, "name": "SWAP5", "source": 1 }, + { "begin": 7205, "end": 7268, "name": "POP", "source": 1 }, + { "begin": 7160, "end": 7278, "name": "POP", "source": 1 }, { - "begin": 3317, - "end": 3322, + "begin": 7317, + "end": 7319, "name": "PUSH", "source": 1, - "value": "0" - }, - { "begin": 3355, "end": 3361, "name": "DUP2", "source": 1 }, - { - "begin": 3342, - "end": 3362, - "name": "CALLDATALOAD", - "source": 1 + "value": "40" }, - { "begin": 3333, "end": 3362, "name": "SWAP1", "source": 1 }, - { "begin": 3333, "end": 3362, "name": "POP", "source": 1 }, { - "begin": 3371, - "end": 3403, + "begin": 7343, + "end": 7396, "name": "PUSH [tag]", "source": 1, - "value": "89" + "value": "189" }, - { "begin": 3397, "end": 3402, "name": "DUP2", "source": 1 }, + { "begin": 7388, "end": 7395, "name": "DUP9", "source": 1 }, + { "begin": 7379, "end": 7385, "name": "DUP3", "source": 1 }, + { "begin": 7368, "end": 7377, "name": "DUP10", "source": 1 }, + { "begin": 7364, "end": 7386, "name": "ADD", "source": 1 }, { - "begin": 3371, - "end": 3403, + "begin": 7343, + "end": 7396, "name": "PUSH [tag]", "source": 1, - "value": "90" + "value": "77" }, { - "begin": 3371, - "end": 3403, + "begin": 7343, + "end": 7396, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 3371, - "end": 3403, + "begin": 7343, + "end": 7396, "name": "tag", "source": 1, - "value": "89" + "value": "189" }, - { "begin": 3371, "end": 3403, "name": "JUMPDEST", "source": 1 }, - { "begin": 3323, "end": 3409, "name": "SWAP3", "source": 1 }, - { "begin": 3323, "end": 3409, "name": "SWAP2", "source": 1 }, - { "begin": 3323, "end": 3409, "name": "POP", "source": 1 }, - { "begin": 3323, "end": 3409, "name": "POP", "source": 1 }, + { "begin": 7343, "end": 7396, "name": "JUMPDEST", "source": 1 }, + { "begin": 7333, "end": 7396, "name": "SWAP4", "source": 1 }, + { "begin": 7333, "end": 7396, "name": "POP", "source": 1 }, + { "begin": 7288, "end": 7406, "name": "POP", "source": 1 }, { - "begin": 3323, - "end": 3409, - "name": "JUMP", + "begin": 7473, + "end": 7475, + "name": "PUSH", "source": 1, - "value": "[out]" + "value": "60" }, + { "begin": 7462, "end": 7471, "name": "DUP7", "source": 1 }, + { "begin": 7458, "end": 7476, "name": "ADD", "source": 1 }, { - "begin": 3415, - "end": 3550, - "name": "tag", - "source": 1, - "value": "78" + "begin": 7445, + "end": 7477, + "name": "CALLDATALOAD", + "source": 1 }, - { "begin": 3415, "end": 3550, "name": "JUMPDEST", "source": 1 }, { - "begin": 3459, - "end": 3464, + "begin": 7504, + "end": 7522, "name": "PUSH", "source": 1, - "value": "0" + "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 3497, "end": 3503, "name": "DUP2", "source": 1 }, + { "begin": 7496, "end": 7502, "name": "DUP2", "source": 1 }, + { "begin": 7493, "end": 7523, "name": "GT", "source": 1 }, + { "begin": 7490, "end": 7607, "name": "ISZERO", "source": 1 }, { - "begin": 3484, - "end": 3504, - "name": "CALLDATALOAD", - "source": 1 + "begin": 7490, + "end": 7607, + "name": "PUSH [tag]", + "source": 1, + "value": "190" }, - { "begin": 3475, "end": 3504, "name": "SWAP1", "source": 1 }, - { "begin": 3475, "end": 3504, "name": "POP", "source": 1 }, + { "begin": 7490, "end": 7607, "name": "JUMPI", "source": 1 }, { - "begin": 3513, - "end": 3544, + "begin": 7526, + "end": 7605, "name": "PUSH [tag]", "source": 1, - "value": "92" + "value": "191" }, - { "begin": 3538, "end": 3543, "name": "DUP2", "source": 1 }, { - "begin": 3513, - "end": 3544, + "begin": 7526, + "end": 7605, "name": "PUSH [tag]", "source": 1, - "value": "93" + "value": "54" }, { - "begin": 3513, - "end": 3544, + "begin": 7526, + "end": 7605, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 3513, - "end": 3544, + "begin": 7526, + "end": 7605, "name": "tag", "source": 1, - "value": "92" + "value": "191" }, - { "begin": 3513, "end": 3544, "name": "JUMPDEST", "source": 1 }, - { "begin": 3465, "end": 3550, "name": "SWAP3", "source": 1 }, - { "begin": 3465, "end": 3550, "name": "SWAP2", "source": 1 }, - { "begin": 3465, "end": 3550, "name": "POP", "source": 1 }, - { "begin": 3465, "end": 3550, "name": "POP", "source": 1 }, + { "begin": 7526, "end": 7605, "name": "JUMPDEST", "source": 1 }, { - "begin": 3465, - "end": 3550, - "name": "JUMP", + "begin": 7490, + "end": 7607, + "name": "tag", + "source": 1, + "value": "190" + }, + { "begin": 7490, "end": 7607, "name": "JUMPDEST", "source": 1 }, + { + "begin": 7631, + "end": 7712, + "name": "PUSH [tag]", "source": 1, - "value": "[out]" + "value": "192" }, + { "begin": 7704, "end": 7711, "name": "DUP9", "source": 1 }, + { "begin": 7695, "end": 7701, "name": "DUP3", "source": 1 }, + { "begin": 7684, "end": 7693, "name": "DUP10", "source": 1 }, + { "begin": 7680, "end": 7702, "name": "ADD", "source": 1 }, { - "begin": 3556, - "end": 4535, - "name": "tag", + "begin": 7631, + "end": 7712, + "name": "PUSH [tag]", "source": 1, - "value": "16" + "value": "74" }, - { "begin": 3556, "end": 4535, "name": "JUMPDEST", "source": 1 }, { - "begin": 3669, - "end": 3675, - "name": "PUSH", + "begin": 7631, + "end": 7712, + "name": "JUMP", "source": 1, - "value": "0" + "value": "[in]" }, - { "begin": 3677, "end": 3683, "name": "DUP1", "source": 1 }, { - "begin": 3685, - "end": 3691, - "name": "PUSH", + "begin": 7631, + "end": 7712, + "name": "tag", "source": 1, - "value": "0" + "value": "192" }, - { "begin": 3693, "end": 3699, "name": "DUP1", "source": 1 }, + { "begin": 7631, "end": 7712, "name": "JUMPDEST", "source": 1 }, + { "begin": 7621, "end": 7712, "name": "SWAP3", "source": 1 }, + { "begin": 7621, "end": 7712, "name": "POP", "source": 1 }, + { "begin": 7416, "end": 7722, "name": "POP", "source": 1 }, { - "begin": 3742, - "end": 3745, + "begin": 7761, + "end": 7764, "name": "PUSH", "source": 1, "value": "80" }, - { "begin": 3730, "end": 3739, "name": "DUP6", "source": 1 }, - { "begin": 3721, "end": 3728, "name": "DUP8", "source": 1 }, - { "begin": 3717, "end": 3740, "name": "SUB", "source": 1 }, - { "begin": 3713, "end": 3746, "name": "SLT", "source": 1 }, - { "begin": 3710, "end": 3712, "name": "ISZERO", "source": 1 }, - { - "begin": 3710, - "end": 3712, - "name": "PUSH [tag]", - "source": 1, - "value": "95" - }, - { "begin": 3710, "end": 3712, "name": "JUMPI", "source": 1 }, { - "begin": 3749, - "end": 3828, + "begin": 7788, + "end": 7840, "name": "PUSH [tag]", "source": 1, - "value": "96" + "value": "193" }, + { "begin": 7832, "end": 7839, "name": "DUP9", "source": 1 }, + { "begin": 7823, "end": 7829, "name": "DUP3", "source": 1 }, + { "begin": 7812, "end": 7821, "name": "DUP10", "source": 1 }, + { "begin": 7808, "end": 7830, "name": "ADD", "source": 1 }, { - "begin": 3749, - "end": 3828, + "begin": 7788, + "end": 7840, "name": "PUSH [tag]", "source": 1, - "value": "97" + "value": "80" }, { - "begin": 3749, - "end": 3828, + "begin": 7788, + "end": 7840, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 3749, - "end": 3828, + "begin": 7788, + "end": 7840, "name": "tag", "source": 1, - "value": "96" + "value": "193" + }, + { "begin": 7788, "end": 7840, "name": "JUMPDEST", "source": 1 }, + { "begin": 7778, "end": 7840, "name": "SWAP2", "source": 1 }, + { "begin": 7778, "end": 7840, "name": "POP", "source": 1 }, + { "begin": 7732, "end": 7850, "name": "POP", "source": 1 }, + { "begin": 6516, "end": 7857, "name": "SWAP3", "source": 1 }, + { "begin": 6516, "end": 7857, "name": "SWAP6", "source": 1 }, + { "begin": 6516, "end": 7857, "name": "POP", "source": 1 }, + { "begin": 6516, "end": 7857, "name": "SWAP3", "source": 1 }, + { "begin": 6516, "end": 7857, "name": "SWAP6", "source": 1 }, + { "begin": 6516, "end": 7857, "name": "SWAP1", "source": 1 }, + { "begin": 6516, "end": 7857, "name": "SWAP4", "source": 1 }, + { "begin": 6516, "end": 7857, "name": "POP", "source": 1 }, + { + "begin": 6516, + "end": 7857, + "name": "JUMP", + "source": 1, + "value": "[out]" }, - { "begin": 3749, "end": 3828, "name": "JUMPDEST", "source": 1 }, { - "begin": 3710, - "end": 3712, + "begin": 7863, + "end": 7989, "name": "tag", "source": 1, - "value": "95" + "value": "81" }, - { "begin": 3710, "end": 3712, "name": "JUMPDEST", "source": 1 }, + { "begin": 7863, "end": 7989, "name": "JUMPDEST", "source": 1 }, { - "begin": 3869, - "end": 3870, + "begin": 7900, + "end": 7907, "name": "PUSH", "source": 1, "value": "0" }, { - "begin": 3894, - "end": 3947, - "name": "PUSH [tag]", - "source": 1, - "value": "98" - }, - { "begin": 3939, "end": 3946, "name": "DUP8", "source": 1 }, - { "begin": 3930, "end": 3936, "name": "DUP3", "source": 1 }, - { "begin": 3919, "end": 3928, "name": "DUP9", "source": 1 }, - { "begin": 3915, "end": 3937, "name": "ADD", "source": 1 }, - { - "begin": 3894, - "end": 3947, - "name": "PUSH [tag]", + "begin": 7940, + "end": 7982, + "name": "PUSH", "source": 1, - "value": "58" + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, + { "begin": 7933, "end": 7938, "name": "DUP3", "source": 1 }, + { "begin": 7929, "end": 7983, "name": "AND", "source": 1 }, + { "begin": 7918, "end": 7983, "name": "SWAP1", "source": 1 }, + { "begin": 7918, "end": 7983, "name": "POP", "source": 1 }, + { "begin": 7863, "end": 7989, "name": "SWAP2", "source": 1 }, + { "begin": 7863, "end": 7989, "name": "SWAP1", "source": 1 }, + { "begin": 7863, "end": 7989, "name": "POP", "source": 1 }, { - "begin": 3894, - "end": 3947, + "begin": 7863, + "end": 7989, "name": "JUMP", "source": 1, - "value": "[in]" + "value": "[out]" }, { - "begin": 3894, - "end": 3947, + "begin": 7995, + "end": 8091, "name": "tag", "source": 1, - "value": "98" + "value": "82" }, - { "begin": 3894, "end": 3947, "name": "JUMPDEST", "source": 1 }, - { "begin": 3884, "end": 3947, "name": "SWAP5", "source": 1 }, - { "begin": 3884, "end": 3947, "name": "POP", "source": 1 }, - { "begin": 3840, "end": 3957, "name": "POP", "source": 1 }, + { "begin": 7995, "end": 8091, "name": "JUMPDEST", "source": 1 }, { - "begin": 3996, - "end": 3998, + "begin": 8032, + "end": 8039, "name": "PUSH", "source": 1, - "value": "20" + "value": "0" }, { - "begin": 4022, - "end": 4075, + "begin": 8061, + "end": 8085, "name": "PUSH [tag]", "source": 1, - "value": "99" + "value": "196" }, - { "begin": 4067, "end": 4074, "name": "DUP8", "source": 1 }, - { "begin": 4058, "end": 4064, "name": "DUP3", "source": 1 }, - { "begin": 4047, "end": 4056, "name": "DUP9", "source": 1 }, - { "begin": 4043, "end": 4065, "name": "ADD", "source": 1 }, + { "begin": 8079, "end": 8084, "name": "DUP3", "source": 1 }, { - "begin": 4022, - "end": 4075, + "begin": 8061, + "end": 8085, "name": "PUSH [tag]", "source": 1, - "value": "83" + "value": "81" }, { - "begin": 4022, - "end": 4075, + "begin": 8061, + "end": 8085, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 4022, - "end": 4075, + "begin": 8061, + "end": 8085, "name": "tag", "source": 1, - "value": "99" - }, - { "begin": 4022, "end": 4075, "name": "JUMPDEST", "source": 1 }, - { "begin": 4012, "end": 4075, "name": "SWAP4", "source": 1 }, - { "begin": 4012, "end": 4075, "name": "POP", "source": 1 }, - { "begin": 3967, "end": 4085, "name": "POP", "source": 1 }, - { - "begin": 4152, - "end": 4154, - "name": "PUSH", - "source": 1, - "value": "40" + "value": "196" }, - { "begin": 4141, "end": 4150, "name": "DUP6", "source": 1 }, - { "begin": 4137, "end": 4155, "name": "ADD", "source": 1 }, + { "begin": 8061, "end": 8085, "name": "JUMPDEST", "source": 1 }, + { "begin": 8050, "end": 8085, "name": "SWAP1", "source": 1 }, + { "begin": 8050, "end": 8085, "name": "POP", "source": 1 }, + { "begin": 7995, "end": 8091, "name": "SWAP2", "source": 1 }, + { "begin": 7995, "end": 8091, "name": "SWAP1", "source": 1 }, + { "begin": 7995, "end": 8091, "name": "POP", "source": 1 }, { - "begin": 4124, - "end": 4156, - "name": "CALLDATALOAD", - "source": 1 - }, - { - "begin": 4183, - "end": 4201, - "name": "PUSH", + "begin": 7995, + "end": 8091, + "name": "JUMP", "source": 1, - "value": "FFFFFFFFFFFFFFFF" + "value": "[out]" }, - { "begin": 4175, "end": 4181, "name": "DUP2", "source": 1 }, - { "begin": 4172, "end": 4202, "name": "GT", "source": 1 }, - { "begin": 4169, "end": 4171, "name": "ISZERO", "source": 1 }, { - "begin": 4169, - "end": 4171, - "name": "PUSH [tag]", + "begin": 8097, + "end": 8219, + "name": "tag", "source": 1, - "value": "100" + "value": "83" }, - { "begin": 4169, "end": 4171, "name": "JUMPI", "source": 1 }, + { "begin": 8097, "end": 8219, "name": "JUMPDEST", "source": 1 }, { - "begin": 4205, - "end": 4284, + "begin": 8170, + "end": 8194, "name": "PUSH [tag]", "source": 1, - "value": "101" + "value": "198" }, + { "begin": 8188, "end": 8193, "name": "DUP2", "source": 1 }, { - "begin": 4205, - "end": 4284, + "begin": 8170, + "end": 8194, "name": "PUSH [tag]", "source": 1, - "value": "102" + "value": "82" }, { - "begin": 4205, - "end": 4284, + "begin": 8170, + "end": 8194, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 4205, - "end": 4284, + "begin": 8170, + "end": 8194, "name": "tag", "source": 1, - "value": "101" + "value": "198" }, - { "begin": 4205, "end": 4284, "name": "JUMPDEST", "source": 1 }, + { "begin": 8170, "end": 8194, "name": "JUMPDEST", "source": 1 }, + { "begin": 8163, "end": 8168, "name": "DUP2", "source": 1 }, + { "begin": 8160, "end": 8195, "name": "EQ", "source": 1 }, { - "begin": 4169, - "end": 4171, - "name": "tag", + "begin": 8150, + "end": 8213, + "name": "PUSH [tag]", "source": 1, - "value": "100" + "value": "199" }, - { "begin": 4169, "end": 4171, "name": "JUMPDEST", "source": 1 }, + { "begin": 8150, "end": 8213, "name": "JUMPI", "source": 1 }, { - "begin": 4310, - "end": 4391, - "name": "PUSH [tag]", + "begin": 8209, + "end": 8210, + "name": "PUSH", "source": 1, - "value": "103" + "value": "0" }, - { "begin": 4383, "end": 4390, "name": "DUP8", "source": 1 }, - { "begin": 4374, "end": 4380, "name": "DUP3", "source": 1 }, - { "begin": 4363, "end": 4372, "name": "DUP9", "source": 1 }, - { "begin": 4359, "end": 4381, "name": "ADD", "source": 1 }, + { "begin": 8206, "end": 8207, "name": "DUP1", "source": 1 }, + { "begin": 8199, "end": 8211, "name": "REVERT", "source": 1 }, { - "begin": 4310, - "end": 4391, - "name": "PUSH [tag]", + "begin": 8150, + "end": 8213, + "name": "tag", "source": 1, - "value": "71" + "value": "199" }, + { "begin": 8150, "end": 8213, "name": "JUMPDEST", "source": 1 }, + { "begin": 8097, "end": 8219, "name": "POP", "source": 1 }, { - "begin": 4310, - "end": 4391, + "begin": 8097, + "end": 8219, "name": "JUMP", "source": 1, - "value": "[in]" + "value": "[out]" }, { - "begin": 4310, - "end": 4391, + "begin": 8225, + "end": 8364, "name": "tag", "source": 1, - "value": "103" + "value": "84" }, - { "begin": 4310, "end": 4391, "name": "JUMPDEST", "source": 1 }, - { "begin": 4300, "end": 4391, "name": "SWAP3", "source": 1 }, - { "begin": 4300, "end": 4391, "name": "POP", "source": 1 }, - { "begin": 4095, "end": 4401, "name": "POP", "source": 1 }, + { "begin": 8225, "end": 8364, "name": "JUMPDEST", "source": 1 }, { - "begin": 4440, - "end": 4442, + "begin": 8271, + "end": 8276, "name": "PUSH", "source": 1, - "value": "60" + "value": "0" + }, + { "begin": 8309, "end": 8315, "name": "DUP2", "source": 1 }, + { + "begin": 8296, + "end": 8316, + "name": "CALLDATALOAD", + "source": 1 }, + { "begin": 8287, "end": 8316, "name": "SWAP1", "source": 1 }, + { "begin": 8287, "end": 8316, "name": "POP", "source": 1 }, { - "begin": 4466, - "end": 4518, + "begin": 8325, + "end": 8358, "name": "PUSH [tag]", "source": 1, - "value": "104" + "value": "201" }, - { "begin": 4510, "end": 4517, "name": "DUP8", "source": 1 }, - { "begin": 4501, "end": 4507, "name": "DUP3", "source": 1 }, - { "begin": 4490, "end": 4499, "name": "DUP9", "source": 1 }, - { "begin": 4486, "end": 4508, "name": "ADD", "source": 1 }, + { "begin": 8352, "end": 8357, "name": "DUP2", "source": 1 }, { - "begin": 4466, - "end": 4518, + "begin": 8325, + "end": 8358, "name": "PUSH [tag]", "source": 1, - "value": "87" + "value": "83" }, { - "begin": 4466, - "end": 4518, + "begin": 8325, + "end": 8358, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 4466, - "end": 4518, + "begin": 8325, + "end": 8358, "name": "tag", "source": 1, - "value": "104" + "value": "201" }, - { "begin": 4466, "end": 4518, "name": "JUMPDEST", "source": 1 }, - { "begin": 4456, "end": 4518, "name": "SWAP2", "source": 1 }, - { "begin": 4456, "end": 4518, "name": "POP", "source": 1 }, - { "begin": 4411, "end": 4528, "name": "POP", "source": 1 }, - { "begin": 3700, "end": 4535, "name": "SWAP3", "source": 1 }, - { "begin": 3700, "end": 4535, "name": "SWAP6", "source": 1 }, - { "begin": 3700, "end": 4535, "name": "SWAP2", "source": 1 }, - { "begin": 3700, "end": 4535, "name": "SWAP5", "source": 1 }, - { "begin": 3700, "end": 4535, "name": "POP", "source": 1 }, - { "begin": 3700, "end": 4535, "name": "SWAP3", "source": 1 }, - { "begin": 3700, "end": 4535, "name": "POP", "source": 1 }, + { "begin": 8325, "end": 8358, "name": "JUMPDEST", "source": 1 }, + { "begin": 8225, "end": 8364, "name": "SWAP3", "source": 1 }, + { "begin": 8225, "end": 8364, "name": "SWAP2", "source": 1 }, + { "begin": 8225, "end": 8364, "name": "POP", "source": 1 }, + { "begin": 8225, "end": 8364, "name": "POP", "source": 1 }, { - "begin": 3700, - "end": 4535, + "begin": 8225, + "end": 8364, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 4541, - "end": 5736, + "begin": 8370, + "end": 9495, "name": "tag", "source": 1, - "value": "12" + "value": "14" }, - { "begin": 4541, "end": 5736, "name": "JUMPDEST", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "JUMPDEST", "source": 1 }, { - "begin": 4682, - "end": 4688, + "begin": 8492, + "end": 8498, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 4690, "end": 4696, "name": "DUP1", "source": 1 }, + { "begin": 8500, "end": 8506, "name": "DUP1", "source": 1 }, { - "begin": 4698, - "end": 4704, + "begin": 8508, + "end": 8514, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 4706, "end": 4712, "name": "DUP1", "source": 1 }, + { "begin": 8516, "end": 8522, "name": "DUP1", "source": 1 }, { - "begin": 4755, - "end": 4758, + "begin": 8524, + "end": 8530, "name": "PUSH", "source": 1, - "value": "80" + "value": "0" + }, + { + "begin": 8573, + "end": 8576, + "name": "PUSH", + "source": 1, + "value": "A0" }, - { "begin": 4743, "end": 4752, "name": "DUP6", "source": 1 }, - { "begin": 4734, "end": 4741, "name": "DUP8", "source": 1 }, - { "begin": 4730, "end": 4753, "name": "SUB", "source": 1 }, - { "begin": 4726, "end": 4759, "name": "SLT", "source": 1 }, - { "begin": 4723, "end": 4725, "name": "ISZERO", "source": 1 }, + { "begin": 8561, "end": 8570, "name": "DUP7", "source": 1 }, + { "begin": 8552, "end": 8559, "name": "DUP9", "source": 1 }, + { "begin": 8548, "end": 8571, "name": "SUB", "source": 1 }, + { "begin": 8544, "end": 8577, "name": "SLT", "source": 1 }, + { "begin": 8541, "end": 8661, "name": "ISZERO", "source": 1 }, { - "begin": 4723, - "end": 4725, + "begin": 8541, + "end": 8661, "name": "PUSH [tag]", "source": 1, - "value": "106" + "value": "203" }, - { "begin": 4723, "end": 4725, "name": "JUMPI", "source": 1 }, + { "begin": 8541, "end": 8661, "name": "JUMPI", "source": 1 }, { - "begin": 4762, - "end": 4841, + "begin": 8580, + "end": 8659, "name": "PUSH [tag]", "source": 1, - "value": "107" + "value": "204" }, { - "begin": 4762, - "end": 4841, + "begin": 8580, + "end": 8659, "name": "PUSH [tag]", "source": 1, - "value": "97" + "value": "53" }, { - "begin": 4762, - "end": 4841, + "begin": 8580, + "end": 8659, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 4762, - "end": 4841, + "begin": 8580, + "end": 8659, "name": "tag", "source": 1, - "value": "107" + "value": "204" }, - { "begin": 4762, "end": 4841, "name": "JUMPDEST", "source": 1 }, + { "begin": 8580, "end": 8659, "name": "JUMPDEST", "source": 1 }, { - "begin": 4723, - "end": 4725, + "begin": 8541, + "end": 8661, "name": "tag", "source": 1, - "value": "106" + "value": "203" }, - { "begin": 4723, "end": 4725, "name": "JUMPDEST", "source": 1 }, + { "begin": 8541, "end": 8661, "name": "JUMPDEST", "source": 1 }, { - "begin": 4910, - "end": 4911, + "begin": 8700, + "end": 8701, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 4899, "end": 4908, "name": "DUP6", "source": 1 }, - { "begin": 4895, "end": 4912, "name": "ADD", "source": 1 }, - { - "begin": 4882, - "end": 4913, - "name": "CALLDATALOAD", - "source": 1 - }, - { - "begin": 4940, - "end": 4958, - "name": "PUSH", - "source": 1, - "value": "FFFFFFFFFFFFFFFF" - }, - { "begin": 4932, "end": 4938, "name": "DUP2", "source": 1 }, - { "begin": 4929, "end": 4959, "name": "GT", "source": 1 }, - { "begin": 4926, "end": 4928, "name": "ISZERO", "source": 1 }, - { - "begin": 4926, - "end": 4928, - "name": "PUSH [tag]", - "source": 1, - "value": "108" - }, - { "begin": 4926, "end": 4928, "name": "JUMPI", "source": 1 }, { - "begin": 4962, - "end": 5041, + "begin": 8725, + "end": 8778, "name": "PUSH [tag]", "source": 1, - "value": "109" + "value": "205" }, + { "begin": 8770, "end": 8777, "name": "DUP9", "source": 1 }, + { "begin": 8761, "end": 8767, "name": "DUP3", "source": 1 }, + { "begin": 8750, "end": 8759, "name": "DUP10", "source": 1 }, + { "begin": 8746, "end": 8768, "name": "ADD", "source": 1 }, { - "begin": 4962, - "end": 5041, + "begin": 8725, + "end": 8778, "name": "PUSH [tag]", "source": 1, - "value": "102" + "value": "84" }, { - "begin": 4962, - "end": 5041, + "begin": 8725, + "end": 8778, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 4962, - "end": 5041, + "begin": 8725, + "end": 8778, "name": "tag", "source": 1, - "value": "109" + "value": "205" }, - { "begin": 4962, "end": 5041, "name": "JUMPDEST", "source": 1 }, + { "begin": 8725, "end": 8778, "name": "JUMPDEST", "source": 1 }, + { "begin": 8715, "end": 8778, "name": "SWAP6", "source": 1 }, + { "begin": 8715, "end": 8778, "name": "POP", "source": 1 }, + { "begin": 8671, "end": 8788, "name": "POP", "source": 1 }, { - "begin": 4926, - "end": 4928, - "name": "tag", + "begin": 8827, + "end": 8829, + "name": "PUSH", "source": 1, - "value": "108" + "value": "20" }, - { "begin": 4926, "end": 4928, "name": "JUMPDEST", "source": 1 }, { - "begin": 5067, - "end": 5148, + "begin": 8853, + "end": 8906, "name": "PUSH [tag]", "source": 1, - "value": "110" + "value": "206" }, - { "begin": 5140, "end": 5147, "name": "DUP8", "source": 1 }, - { "begin": 5131, "end": 5137, "name": "DUP3", "source": 1 }, - { "begin": 5120, "end": 5129, "name": "DUP9", "source": 1 }, - { "begin": 5116, "end": 5138, "name": "ADD", "source": 1 }, + { "begin": 8898, "end": 8905, "name": "DUP9", "source": 1 }, + { "begin": 8889, "end": 8895, "name": "DUP3", "source": 1 }, + { "begin": 8878, "end": 8887, "name": "DUP10", "source": 1 }, + { "begin": 8874, "end": 8896, "name": "ADD", "source": 1 }, { - "begin": 5067, - "end": 5148, + "begin": 8853, + "end": 8906, "name": "PUSH [tag]", "source": 1, - "value": "71" + "value": "77" }, { - "begin": 5067, - "end": 5148, + "begin": 8853, + "end": 8906, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 5067, - "end": 5148, + "begin": 8853, + "end": 8906, "name": "tag", "source": 1, - "value": "110" + "value": "206" }, - { "begin": 5067, "end": 5148, "name": "JUMPDEST", "source": 1 }, - { "begin": 5057, "end": 5148, "name": "SWAP5", "source": 1 }, - { "begin": 5057, "end": 5148, "name": "POP", "source": 1 }, - { "begin": 4853, "end": 5158, "name": "POP", "source": 1 }, + { "begin": 8853, "end": 8906, "name": "JUMPDEST", "source": 1 }, + { "begin": 8843, "end": 8906, "name": "SWAP5", "source": 1 }, + { "begin": 8843, "end": 8906, "name": "POP", "source": 1 }, + { "begin": 8798, "end": 8916, "name": "POP", "source": 1 }, { - "begin": 5197, - "end": 5199, + "begin": 8955, + "end": 8957, "name": "PUSH", "source": 1, - "value": "20" + "value": "40" }, { - "begin": 5223, - "end": 5276, + "begin": 8981, + "end": 9034, "name": "PUSH [tag]", "source": 1, - "value": "111" + "value": "207" }, - { "begin": 5268, "end": 5275, "name": "DUP8", "source": 1 }, - { "begin": 5259, "end": 5265, "name": "DUP3", "source": 1 }, - { "begin": 5248, "end": 5257, "name": "DUP9", "source": 1 }, - { "begin": 5244, "end": 5266, "name": "ADD", "source": 1 }, + { "begin": 9026, "end": 9033, "name": "DUP9", "source": 1 }, + { "begin": 9017, "end": 9023, "name": "DUP3", "source": 1 }, + { "begin": 9006, "end": 9015, "name": "DUP10", "source": 1 }, + { "begin": 9002, "end": 9024, "name": "ADD", "source": 1 }, { - "begin": 5223, - "end": 5276, + "begin": 8981, + "end": 9034, "name": "PUSH [tag]", "source": 1, - "value": "83" + "value": "77" }, { - "begin": 5223, - "end": 5276, + "begin": 8981, + "end": 9034, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 5223, - "end": 5276, + "begin": 8981, + "end": 9034, "name": "tag", "source": 1, - "value": "111" + "value": "207" }, - { "begin": 5223, "end": 5276, "name": "JUMPDEST", "source": 1 }, - { "begin": 5213, "end": 5276, "name": "SWAP4", "source": 1 }, - { "begin": 5213, "end": 5276, "name": "POP", "source": 1 }, - { "begin": 5168, "end": 5286, "name": "POP", "source": 1 }, + { "begin": 8981, "end": 9034, "name": "JUMPDEST", "source": 1 }, + { "begin": 8971, "end": 9034, "name": "SWAP4", "source": 1 }, + { "begin": 8971, "end": 9034, "name": "POP", "source": 1 }, + { "begin": 8926, "end": 9044, "name": "POP", "source": 1 }, { - "begin": 5353, - "end": 5355, + "begin": 9111, + "end": 9113, "name": "PUSH", "source": 1, - "value": "40" + "value": "60" }, - { "begin": 5342, "end": 5351, "name": "DUP6", "source": 1 }, - { "begin": 5338, "end": 5356, "name": "ADD", "source": 1 }, + { "begin": 9100, "end": 9109, "name": "DUP7", "source": 1 }, + { "begin": 9096, "end": 9114, "name": "ADD", "source": 1 }, { - "begin": 5325, - "end": 5357, + "begin": 9083, + "end": 9115, "name": "CALLDATALOAD", "source": 1 }, { - "begin": 5384, - "end": 5402, + "begin": 9142, + "end": 9160, "name": "PUSH", "source": 1, "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 5376, "end": 5382, "name": "DUP2", "source": 1 }, - { "begin": 5373, "end": 5403, "name": "GT", "source": 1 }, - { "begin": 5370, "end": 5372, "name": "ISZERO", "source": 1 }, + { "begin": 9134, "end": 9140, "name": "DUP2", "source": 1 }, + { "begin": 9131, "end": 9161, "name": "GT", "source": 1 }, + { "begin": 9128, "end": 9245, "name": "ISZERO", "source": 1 }, { - "begin": 5370, - "end": 5372, + "begin": 9128, + "end": 9245, "name": "PUSH [tag]", "source": 1, - "value": "112" + "value": "208" }, - { "begin": 5370, "end": 5372, "name": "JUMPI", "source": 1 }, + { "begin": 9128, "end": 9245, "name": "JUMPI", "source": 1 }, { - "begin": 5406, - "end": 5485, + "begin": 9164, + "end": 9243, "name": "PUSH [tag]", "source": 1, - "value": "113" + "value": "209" }, { - "begin": 5406, - "end": 5485, + "begin": 9164, + "end": 9243, "name": "PUSH [tag]", "source": 1, - "value": "102" + "value": "54" }, { - "begin": 5406, - "end": 5485, + "begin": 9164, + "end": 9243, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 5406, - "end": 5485, + "begin": 9164, + "end": 9243, "name": "tag", "source": 1, - "value": "113" + "value": "209" }, - { "begin": 5406, "end": 5485, "name": "JUMPDEST", "source": 1 }, + { "begin": 9164, "end": 9243, "name": "JUMPDEST", "source": 1 }, { - "begin": 5370, - "end": 5372, + "begin": 9128, + "end": 9245, "name": "tag", "source": 1, - "value": "112" + "value": "208" }, - { "begin": 5370, "end": 5372, "name": "JUMPDEST", "source": 1 }, + { "begin": 9128, "end": 9245, "name": "JUMPDEST", "source": 1 }, { - "begin": 5511, - "end": 5592, + "begin": 9269, + "end": 9350, "name": "PUSH [tag]", "source": 1, - "value": "114" + "value": "210" }, - { "begin": 5584, "end": 5591, "name": "DUP8", "source": 1 }, - { "begin": 5575, "end": 5581, "name": "DUP3", "source": 1 }, - { "begin": 5564, "end": 5573, "name": "DUP9", "source": 1 }, - { "begin": 5560, "end": 5582, "name": "ADD", "source": 1 }, + { "begin": 9342, "end": 9349, "name": "DUP9", "source": 1 }, + { "begin": 9333, "end": 9339, "name": "DUP3", "source": 1 }, + { "begin": 9322, "end": 9331, "name": "DUP10", "source": 1 }, + { "begin": 9318, "end": 9340, "name": "ADD", "source": 1 }, { - "begin": 5511, - "end": 5592, + "begin": 9269, + "end": 9350, "name": "PUSH [tag]", "source": 1, - "value": "71" + "value": "74" }, { - "begin": 5511, - "end": 5592, + "begin": 9269, + "end": 9350, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 5511, - "end": 5592, + "begin": 9269, + "end": 9350, "name": "tag", "source": 1, - "value": "114" + "value": "210" }, - { "begin": 5511, "end": 5592, "name": "JUMPDEST", "source": 1 }, - { "begin": 5501, "end": 5592, "name": "SWAP3", "source": 1 }, - { "begin": 5501, "end": 5592, "name": "POP", "source": 1 }, - { "begin": 5296, "end": 5602, "name": "POP", "source": 1 }, + { "begin": 9269, "end": 9350, "name": "JUMPDEST", "source": 1 }, + { "begin": 9259, "end": 9350, "name": "SWAP3", "source": 1 }, + { "begin": 9259, "end": 9350, "name": "POP", "source": 1 }, + { "begin": 9054, "end": 9360, "name": "POP", "source": 1 }, { - "begin": 5641, - "end": 5643, + "begin": 9399, + "end": 9402, "name": "PUSH", "source": 1, - "value": "60" + "value": "80" }, { - "begin": 5667, - "end": 5719, + "begin": 9426, + "end": 9478, "name": "PUSH [tag]", "source": 1, - "value": "115" + "value": "211" }, - { "begin": 5711, "end": 5718, "name": "DUP8", "source": 1 }, - { "begin": 5702, "end": 5708, "name": "DUP3", "source": 1 }, - { "begin": 5691, "end": 5700, "name": "DUP9", "source": 1 }, - { "begin": 5687, "end": 5709, "name": "ADD", "source": 1 }, + { "begin": 9470, "end": 9477, "name": "DUP9", "source": 1 }, + { "begin": 9461, "end": 9467, "name": "DUP3", "source": 1 }, + { "begin": 9450, "end": 9459, "name": "DUP10", "source": 1 }, + { "begin": 9446, "end": 9468, "name": "ADD", "source": 1 }, { - "begin": 5667, - "end": 5719, + "begin": 9426, + "end": 9478, "name": "PUSH [tag]", "source": 1, - "value": "87" + "value": "80" }, { - "begin": 5667, - "end": 5719, + "begin": 9426, + "end": 9478, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 5667, - "end": 5719, + "begin": 9426, + "end": 9478, "name": "tag", "source": 1, - "value": "115" + "value": "211" + }, + { "begin": 9426, "end": 9478, "name": "JUMPDEST", "source": 1 }, + { "begin": 9416, "end": 9478, "name": "SWAP2", "source": 1 }, + { "begin": 9416, "end": 9478, "name": "POP", "source": 1 }, + { "begin": 9370, "end": 9488, "name": "POP", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "SWAP3", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "SWAP6", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "POP", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "SWAP3", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "SWAP6", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "SWAP1", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "SWAP4", "source": 1 }, + { "begin": 8370, "end": 9495, "name": "POP", "source": 1 }, + { + "begin": 8370, + "end": 9495, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 9501, + "end": 9561, + "name": "tag", + "source": 1, + "value": "85" + }, + { "begin": 9501, "end": 9561, "name": "JUMPDEST", "source": 1 }, + { + "begin": 9529, + "end": 9532, + "name": "PUSH", + "source": 1, + "value": "0" }, - { "begin": 5667, "end": 5719, "name": "JUMPDEST", "source": 1 }, - { "begin": 5657, "end": 5719, "name": "SWAP2", "source": 1 }, - { "begin": 5657, "end": 5719, "name": "POP", "source": 1 }, - { "begin": 5612, "end": 5729, "name": "POP", "source": 1 }, - { "begin": 4713, "end": 5736, "name": "SWAP3", "source": 1 }, - { "begin": 4713, "end": 5736, "name": "SWAP6", "source": 1 }, - { "begin": 4713, "end": 5736, "name": "SWAP2", "source": 1 }, - { "begin": 4713, "end": 5736, "name": "SWAP5", "source": 1 }, - { "begin": 4713, "end": 5736, "name": "POP", "source": 1 }, - { "begin": 4713, "end": 5736, "name": "SWAP3", "source": 1 }, - { "begin": 4713, "end": 5736, "name": "POP", "source": 1 }, + { "begin": 9550, "end": 9555, "name": "DUP2", "source": 1 }, + { "begin": 9543, "end": 9555, "name": "SWAP1", "source": 1 }, + { "begin": 9543, "end": 9555, "name": "POP", "source": 1 }, + { "begin": 9501, "end": 9561, "name": "SWAP2", "source": 1 }, + { "begin": 9501, "end": 9561, "name": "SWAP1", "source": 1 }, + { "begin": 9501, "end": 9561, "name": "POP", "source": 1 }, { - "begin": 4713, - "end": 5736, + "begin": 9501, + "end": 9561, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 5742, - "end": 5934, + "begin": 9567, + "end": 9709, "name": "tag", "source": 1, - "value": "116" + "value": "86" }, - { "begin": 5742, "end": 5934, "name": "JUMPDEST", "source": 1 }, + { "begin": 9567, "end": 9709, "name": "JUMPDEST", "source": 1 }, { - "begin": 5829, - "end": 5839, + "begin": 9617, + "end": 9626, "name": "PUSH", "source": 1, "value": "0" }, { - "begin": 5864, - "end": 5928, + "begin": 9650, + "end": 9703, "name": "PUSH [tag]", "source": 1, - "value": "118" + "value": "214" }, - { "begin": 5924, "end": 5927, "name": "DUP4", "source": 1 }, - { "begin": 5916, "end": 5922, "name": "DUP4", "source": 1 }, { - "begin": 5864, - "end": 5928, + "begin": 9668, + "end": 9702, "name": "PUSH [tag]", "source": 1, - "value": "119" + "value": "215" }, { - "begin": 5864, - "end": 5928, - "name": "JUMP", + "begin": 9677, + "end": 9701, + "name": "PUSH [tag]", "source": 1, - "value": "[in]" + "value": "216" }, + { "begin": 9695, "end": 9700, "name": "DUP5", "source": 1 }, { - "begin": 5864, - "end": 5928, - "name": "tag", + "begin": 9677, + "end": 9701, + "name": "PUSH [tag]", "source": 1, - "value": "118" + "value": "81" }, - { "begin": 5864, "end": 5928, "name": "JUMPDEST", "source": 1 }, - { "begin": 5850, "end": 5928, "name": "SWAP1", "source": 1 }, - { "begin": 5850, "end": 5928, "name": "POP", "source": 1 }, - { "begin": 5840, "end": 5934, "name": "SWAP3", "source": 1 }, - { "begin": 5840, "end": 5934, "name": "SWAP2", "source": 1 }, - { "begin": 5840, "end": 5934, "name": "POP", "source": 1 }, - { "begin": 5840, "end": 5934, "name": "POP", "source": 1 }, { - "begin": 5840, - "end": 5934, + "begin": 9677, + "end": 9701, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 5940, - "end": 6058, + "begin": 9677, + "end": 9701, "name": "tag", "source": 1, - "value": "120" + "value": "216" }, - { "begin": 5940, "end": 6058, "name": "JUMPDEST", "source": 1 }, + { "begin": 9677, "end": 9701, "name": "JUMPDEST", "source": 1 }, { - "begin": 6027, - "end": 6051, + "begin": 9668, + "end": 9702, "name": "PUSH [tag]", "source": 1, - "value": "122" + "value": "85" + }, + { + "begin": 9668, + "end": 9702, + "name": "JUMP", + "source": 1, + "value": "[in]" + }, + { + "begin": 9668, + "end": 9702, + "name": "tag", + "source": 1, + "value": "215" }, - { "begin": 6045, "end": 6050, "name": "DUP2", "source": 1 }, + { "begin": 9668, "end": 9702, "name": "JUMPDEST", "source": 1 }, { - "begin": 6027, - "end": 6051, + "begin": 9650, + "end": 9703, "name": "PUSH [tag]", "source": 1, - "value": "123" + "value": "81" }, { - "begin": 6027, - "end": 6051, + "begin": 9650, + "end": 9703, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 6027, - "end": 6051, + "begin": 9650, + "end": 9703, "name": "tag", "source": 1, - "value": "122" + "value": "214" }, - { "begin": 6027, "end": 6051, "name": "JUMPDEST", "source": 1 }, - { "begin": 6022, "end": 6025, "name": "DUP3", "source": 1 }, - { "begin": 6015, "end": 6052, "name": "MSTORE", "source": 1 }, - { "begin": 6005, "end": 6058, "name": "POP", "source": 1 }, - { "begin": 6005, "end": 6058, "name": "POP", "source": 1 }, + { "begin": 9650, "end": 9703, "name": "JUMPDEST", "source": 1 }, + { "begin": 9637, "end": 9703, "name": "SWAP1", "source": 1 }, + { "begin": 9637, "end": 9703, "name": "POP", "source": 1 }, + { "begin": 9567, "end": 9709, "name": "SWAP2", "source": 1 }, + { "begin": 9567, "end": 9709, "name": "SWAP1", "source": 1 }, + { "begin": 9567, "end": 9709, "name": "POP", "source": 1 }, { - "begin": 6005, - "end": 6058, + "begin": 9567, + "end": 9709, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 6090, - "end": 7053, + "begin": 9715, + "end": 9841, "name": "tag", "source": 1, - "value": "124" + "value": "87" }, - { "begin": 6090, "end": 7053, "name": "JUMPDEST", "source": 1 }, + { "begin": 9715, "end": 9841, "name": "JUMPDEST", "source": 1 }, { - "begin": 6217, - "end": 6220, + "begin": 9765, + "end": 9774, "name": "PUSH", "source": 1, "value": "0" }, { - "begin": 6246, - "end": 6309, + "begin": 9798, + "end": 9835, "name": "PUSH [tag]", "source": 1, - "value": "126" + "value": "218" }, - { "begin": 6303, "end": 6308, "name": "DUP3", "source": 1 }, + { "begin": 9829, "end": 9834, "name": "DUP3", "source": 1 }, { - "begin": 6246, - "end": 6309, + "begin": 9798, + "end": 9835, "name": "PUSH [tag]", "source": 1, - "value": "127" + "value": "86" }, { - "begin": 6246, - "end": 6309, + "begin": 9798, + "end": 9835, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 6246, - "end": 6309, + "begin": 9798, + "end": 9835, "name": "tag", "source": 1, - "value": "126" - }, - { "begin": 6246, "end": 6309, "name": "JUMPDEST", "source": 1 }, - { - "begin": 6325, - "end": 6410, - "name": "PUSH [tag]", - "source": 1, - "value": "128" - }, - { "begin": 6403, "end": 6409, "name": "DUP2", "source": 1 }, - { "begin": 6398, "end": 6401, "name": "DUP6", "source": 1 }, - { - "begin": 6325, - "end": 6410, - "name": "PUSH [tag]", - "source": 1, - "value": "129" + "value": "218" }, + { "begin": 9798, "end": 9835, "name": "JUMPDEST", "source": 1 }, + { "begin": 9785, "end": 9835, "name": "SWAP1", "source": 1 }, + { "begin": 9785, "end": 9835, "name": "POP", "source": 1 }, + { "begin": 9715, "end": 9841, "name": "SWAP2", "source": 1 }, + { "begin": 9715, "end": 9841, "name": "SWAP1", "source": 1 }, + { "begin": 9715, "end": 9841, "name": "POP", "source": 1 }, { - "begin": 6325, - "end": 6410, + "begin": 9715, + "end": 9841, "name": "JUMP", "source": 1, - "value": "[in]" + "value": "[out]" }, { - "begin": 6325, - "end": 6410, + "begin": 9847, + "end": 9987, "name": "tag", "source": 1, - "value": "128" + "value": "88" }, - { "begin": 6325, "end": 6410, "name": "JUMPDEST", "source": 1 }, - { "begin": 6318, "end": 6410, "name": "SWAP4", "source": 1 }, - { "begin": 6318, "end": 6410, "name": "POP", "source": 1 }, - { "begin": 6436, "end": 6439, "name": "DUP4", "source": 1 }, + { "begin": 9847, "end": 9987, "name": "JUMPDEST", "source": 1 }, { - "begin": 6481, - "end": 6485, + "begin": 9911, + "end": 9920, "name": "PUSH", "source": 1, - "value": "20" + "value": "0" }, - { "begin": 6473, "end": 6479, "name": "DUP3", "source": 1 }, - { "begin": 6469, "end": 6486, "name": "MUL", "source": 1 }, - { "begin": 6464, "end": 6467, "name": "DUP6", "source": 1 }, - { "begin": 6460, "end": 6487, "name": "ADD", "source": 1 }, { - "begin": 6511, - "end": 6576, + "begin": 9944, + "end": 9981, "name": "PUSH [tag]", "source": 1, - "value": "130" + "value": "220" }, - { "begin": 6570, "end": 6575, "name": "DUP6", "source": 1 }, + { "begin": 9975, "end": 9980, "name": "DUP3", "source": 1 }, { - "begin": 6511, - "end": 6576, + "begin": 9944, + "end": 9981, "name": "PUSH [tag]", "source": 1, - "value": "131" + "value": "87" }, { - "begin": 6511, - "end": 6576, + "begin": 9944, + "end": 9981, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 6511, - "end": 6576, + "begin": 9944, + "end": 9981, "name": "tag", "source": 1, - "value": "130" + "value": "220" }, - { "begin": 6511, "end": 6576, "name": "JUMPDEST", "source": 1 }, - { "begin": 6599, "end": 6606, "name": "DUP1", "source": 1 }, + { "begin": 9944, "end": 9981, "name": "JUMPDEST", "source": 1 }, + { "begin": 9931, "end": 9981, "name": "SWAP1", "source": 1 }, + { "begin": 9931, "end": 9981, "name": "POP", "source": 1 }, + { "begin": 9847, "end": 9987, "name": "SWAP2", "source": 1 }, + { "begin": 9847, "end": 9987, "name": "SWAP1", "source": 1 }, + { "begin": 9847, "end": 9987, "name": "POP", "source": 1 }, { - "begin": 6630, - "end": 6631, - "name": "PUSH", + "begin": 9847, + "end": 9987, + "name": "JUMP", "source": 1, - "value": "0" + "value": "[out]" }, { - "begin": 6615, - "end": 7008, + "begin": 9993, + "end": 10152, "name": "tag", "source": 1, - "value": "132" - }, - { "begin": 6615, "end": 7008, "name": "JUMPDEST", "source": 1 }, - { "begin": 6640, "end": 6646, "name": "DUP6", "source": 1 }, - { "begin": 6637, "end": 6638, "name": "DUP2", "source": 1 }, - { "begin": 6634, "end": 6647, "name": "LT", "source": 1 }, - { "begin": 6615, "end": 7008, "name": "ISZERO", "source": 1 }, - { - "begin": 6615, - "end": 7008, - "name": "PUSH [tag]", - "source": 1, - "value": "134" + "value": "89" }, - { "begin": 6615, "end": 7008, "name": "JUMPI", "source": 1 }, - { "begin": 6711, "end": 6720, "name": "DUP5", "source": 1 }, - { "begin": 6705, "end": 6709, "name": "DUP5", "source": 1 }, - { "begin": 6701, "end": 6721, "name": "SUB", "source": 1 }, - { "begin": 6696, "end": 6699, "name": "DUP10", "source": 1 }, - { "begin": 6689, "end": 6722, "name": "MSTORE", "source": 1 }, - { "begin": 6762, "end": 6768, "name": "DUP2", "source": 1 }, - { "begin": 6756, "end": 6769, "name": "MLOAD", "source": 1 }, + { "begin": 9993, "end": 10152, "name": "JUMPDEST", "source": 1 }, { - "begin": 6790, - "end": 6872, + "begin": 10094, + "end": 10145, "name": "PUSH [tag]", "source": 1, - "value": "135" + "value": "222" }, - { "begin": 6867, "end": 6871, "name": "DUP6", "source": 1 }, - { "begin": 6852, "end": 6865, "name": "DUP3", "source": 1 }, + { "begin": 10139, "end": 10144, "name": "DUP2", "source": 1 }, { - "begin": 6790, - "end": 6872, + "begin": 10094, + "end": 10145, "name": "PUSH [tag]", "source": 1, - "value": "116" + "value": "88" }, { - "begin": 6790, - "end": 6872, + "begin": 10094, + "end": 10145, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 6790, - "end": 6872, + "begin": 10094, + "end": 10145, "name": "tag", "source": 1, - "value": "135" + "value": "222" }, - { "begin": 6790, "end": 6872, "name": "JUMPDEST", "source": 1 }, - { "begin": 6782, "end": 6872, "name": "SWAP5", "source": 1 }, - { "begin": 6782, "end": 6872, "name": "POP", "source": 1 }, + { "begin": 10094, "end": 10145, "name": "JUMPDEST", "source": 1 }, + { "begin": 10089, "end": 10092, "name": "DUP3", "source": 1 }, + { "begin": 10082, "end": 10146, "name": "MSTORE", "source": 1 }, + { "begin": 9993, "end": 10152, "name": "POP", "source": 1 }, + { "begin": 9993, "end": 10152, "name": "POP", "source": 1 }, { - "begin": 6895, - "end": 6964, - "name": "PUSH [tag]", + "begin": 9993, + "end": 10152, + "name": "JUMP", "source": 1, - "value": "136" + "value": "[out]" }, - { "begin": 6957, "end": 6963, "name": "DUP4", "source": 1 }, { - "begin": 6895, - "end": 6964, - "name": "PUSH [tag]", + "begin": 10158, + "end": 10408, + "name": "tag", "source": 1, - "value": "137" + "value": "19" }, + { "begin": 10158, "end": 10408, "name": "JUMPDEST", "source": 1 }, { - "begin": 6895, - "end": 6964, - "name": "JUMP", + "begin": 10265, + "end": 10269, + "name": "PUSH", "source": 1, - "value": "[in]" + "value": "0" }, { - "begin": 6895, - "end": 6964, - "name": "tag", + "begin": 10303, + "end": 10305, + "name": "PUSH", "source": 1, - "value": "136" + "value": "20" }, - { "begin": 6895, "end": 6964, "name": "JUMPDEST", "source": 1 }, - { "begin": 6885, "end": 6964, "name": "SWAP3", "source": 1 }, - { "begin": 6885, "end": 6964, "name": "POP", "source": 1 }, + { "begin": 10292, "end": 10301, "name": "DUP3", "source": 1 }, + { "begin": 10288, "end": 10306, "name": "ADD", "source": 1 }, + { "begin": 10280, "end": 10306, "name": "SWAP1", "source": 1 }, + { "begin": 10280, "end": 10306, "name": "POP", "source": 1 }, { - "begin": 6993, - "end": 6997, - "name": "PUSH", + "begin": 10316, + "end": 10401, + "name": "PUSH [tag]", "source": 1, - "value": "20" + "value": "224" }, - { "begin": 6988, "end": 6991, "name": "DUP11", "source": 1 }, - { "begin": 6984, "end": 6998, "name": "ADD", "source": 1 }, - { "begin": 6977, "end": 6998, "name": "SWAP10", "source": 1 }, - { "begin": 6977, "end": 6998, "name": "POP", "source": 1 }, - { "begin": 6675, "end": 7008, "name": "POP", "source": 1 }, { - "begin": 6662, - "end": 6663, + "begin": 10398, + "end": 10399, "name": "PUSH", "source": 1, - "value": "1" + "value": "0" }, - { "begin": 6659, "end": 6660, "name": "DUP2", "source": 1 }, - { "begin": 6655, "end": 6664, "name": "ADD", "source": 1 }, - { "begin": 6650, "end": 6664, "name": "SWAP1", "source": 1 }, - { "begin": 6650, "end": 6664, "name": "POP", "source": 1 }, + { "begin": 10387, "end": 10396, "name": "DUP4", "source": 1 }, + { "begin": 10383, "end": 10400, "name": "ADD", "source": 1 }, + { "begin": 10374, "end": 10380, "name": "DUP5", "source": 1 }, { - "begin": 6615, - "end": 7008, + "begin": 10316, + "end": 10401, "name": "PUSH [tag]", "source": 1, - "value": "132" + "value": "89" + }, + { + "begin": 10316, + "end": 10401, + "name": "JUMP", + "source": 1, + "value": "[in]" }, - { "begin": 6615, "end": 7008, "name": "JUMP", "source": 1 }, { - "begin": 6615, - "end": 7008, + "begin": 10316, + "end": 10401, "name": "tag", "source": 1, - "value": "134" + "value": "224" }, - { "begin": 6615, "end": 7008, "name": "JUMPDEST", "source": 1 }, - { "begin": 6619, "end": 6633, "name": "POP", "source": 1 }, - { "begin": 7024, "end": 7028, "name": "DUP3", "source": 1 }, - { "begin": 7017, "end": 7028, "name": "SWAP8", "source": 1 }, - { "begin": 7017, "end": 7028, "name": "POP", "source": 1 }, - { "begin": 7044, "end": 7047, "name": "DUP8", "source": 1 }, - { "begin": 7037, "end": 7047, "name": "SWAP6", "source": 1 }, - { "begin": 7037, "end": 7047, "name": "POP", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "POP", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "POP", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "POP", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "POP", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "POP", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "SWAP3", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "SWAP2", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "POP", "source": 1 }, - { "begin": 6222, "end": 7053, "name": "POP", "source": 1 }, - { - "begin": 6222, - "end": 7053, + { "begin": 10316, "end": 10401, "name": "JUMPDEST", "source": 1 }, + { "begin": 10158, "end": 10408, "name": "SWAP3", "source": 1 }, + { "begin": 10158, "end": 10408, "name": "SWAP2", "source": 1 }, + { "begin": 10158, "end": 10408, "name": "POP", "source": 1 }, + { "begin": 10158, "end": 10408, "name": "POP", "source": 1 }, + { + "begin": 10158, + "end": 10408, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 7059, - "end": 7399, + "begin": 10414, + "end": 11609, "name": "tag", "source": 1, - "value": "119" + "value": "22" }, - { "begin": 7059, "end": 7399, "name": "JUMPDEST", "source": 1 }, + { "begin": 10414, "end": 11609, "name": "JUMPDEST", "source": 1 }, { - "begin": 7135, - "end": 7138, + "begin": 10555, + "end": 10561, "name": "PUSH", "source": 1, "value": "0" }, + { "begin": 10563, "end": 10569, "name": "DUP1", "source": 1 }, { - "begin": 7163, - "end": 7201, - "name": "PUSH [tag]", - "source": 1, - "value": "139" - }, - { "begin": 7195, "end": 7200, "name": "DUP3", "source": 1 }, - { - "begin": 7163, - "end": 7201, - "name": "PUSH [tag]", + "begin": 10571, + "end": 10577, + "name": "PUSH", "source": 1, - "value": "140" + "value": "0" }, + { "begin": 10579, "end": 10585, "name": "DUP1", "source": 1 }, { - "begin": 7163, - "end": 7201, - "name": "JUMP", + "begin": 10628, + "end": 10631, + "name": "PUSH", "source": 1, - "value": "[in]" + "value": "80" }, + { "begin": 10616, "end": 10625, "name": "DUP6", "source": 1 }, + { "begin": 10607, "end": 10614, "name": "DUP8", "source": 1 }, + { "begin": 10603, "end": 10626, "name": "SUB", "source": 1 }, + { "begin": 10599, "end": 10632, "name": "SLT", "source": 1 }, + { "begin": 10596, "end": 10716, "name": "ISZERO", "source": 1 }, { - "begin": 7163, - "end": 7201, - "name": "tag", + "begin": 10596, + "end": 10716, + "name": "PUSH [tag]", "source": 1, - "value": "139" + "value": "226" }, - { "begin": 7163, "end": 7201, "name": "JUMPDEST", "source": 1 }, + { "begin": 10596, "end": 10716, "name": "JUMPI", "source": 1 }, { - "begin": 7217, - "end": 7277, + "begin": 10635, + "end": 10714, "name": "PUSH [tag]", "source": 1, - "value": "141" + "value": "227" }, - { "begin": 7270, "end": 7276, "name": "DUP2", "source": 1 }, - { "begin": 7265, "end": 7268, "name": "DUP6", "source": 1 }, { - "begin": 7217, - "end": 7277, + "begin": 10635, + "end": 10714, "name": "PUSH [tag]", "source": 1, - "value": "142" + "value": "53" }, { - "begin": 7217, - "end": 7277, + "begin": 10635, + "end": 10714, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 7217, - "end": 7277, + "begin": 10635, + "end": 10714, "name": "tag", "source": 1, - "value": "141" + "value": "227" }, - { "begin": 7217, "end": 7277, "name": "JUMPDEST", "source": 1 }, - { "begin": 7210, "end": 7277, "name": "SWAP4", "source": 1 }, - { "begin": 7210, "end": 7277, "name": "POP", "source": 1 }, + { "begin": 10635, "end": 10714, "name": "JUMPDEST", "source": 1 }, { - "begin": 7286, - "end": 7338, - "name": "PUSH [tag]", + "begin": 10596, + "end": 10716, + "name": "tag", "source": 1, - "value": "143" + "value": "226" }, - { "begin": 7331, "end": 7337, "name": "DUP2", "source": 1 }, - { "begin": 7326, "end": 7329, "name": "DUP6", "source": 1 }, + { "begin": 10596, "end": 10716, "name": "JUMPDEST", "source": 1 }, { - "begin": 7319, - "end": 7323, + "begin": 10783, + "end": 10784, "name": "PUSH", "source": 1, - "value": "20" + "value": "0" }, - { "begin": 7312, "end": 7317, "name": "DUP7", "source": 1 }, - { "begin": 7308, "end": 7324, "name": "ADD", "source": 1 }, + { "begin": 10772, "end": 10781, "name": "DUP6", "source": 1 }, + { "begin": 10768, "end": 10785, "name": "ADD", "source": 1 }, { - "begin": 7286, - "end": 7338, - "name": "PUSH [tag]", - "source": 1, - "value": "144" + "begin": 10755, + "end": 10786, + "name": "CALLDATALOAD", + "source": 1 }, { - "begin": 7286, - "end": 7338, - "name": "JUMP", + "begin": 10813, + "end": 10831, + "name": "PUSH", "source": 1, - "value": "[in]" + "value": "FFFFFFFFFFFFFFFF" }, + { "begin": 10805, "end": 10811, "name": "DUP2", "source": 1 }, + { "begin": 10802, "end": 10832, "name": "GT", "source": 1 }, + { "begin": 10799, "end": 10916, "name": "ISZERO", "source": 1 }, { - "begin": 7286, - "end": 7338, - "name": "tag", + "begin": 10799, + "end": 10916, + "name": "PUSH [tag]", "source": 1, - "value": "143" + "value": "228" }, - { "begin": 7286, "end": 7338, "name": "JUMPDEST", "source": 1 }, + { "begin": 10799, "end": 10916, "name": "JUMPI", "source": 1 }, { - "begin": 7363, - "end": 7392, + "begin": 10835, + "end": 10914, "name": "PUSH [tag]", "source": 1, - "value": "145" + "value": "229" }, - { "begin": 7385, "end": 7391, "name": "DUP2", "source": 1 }, { - "begin": 7363, - "end": 7392, + "begin": 10835, + "end": 10914, "name": "PUSH [tag]", "source": 1, - "value": "146" + "value": "54" }, { - "begin": 7363, - "end": 7392, + "begin": 10835, + "end": 10914, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 7363, - "end": 7392, + "begin": 10835, + "end": 10914, "name": "tag", "source": 1, - "value": "145" - }, - { "begin": 7363, "end": 7392, "name": "JUMPDEST", "source": 1 }, - { "begin": 7358, "end": 7361, "name": "DUP5", "source": 1 }, - { "begin": 7354, "end": 7393, "name": "ADD", "source": 1 }, - { "begin": 7347, "end": 7393, "name": "SWAP2", "source": 1 }, - { "begin": 7347, "end": 7393, "name": "POP", "source": 1 }, - { "begin": 7139, "end": 7399, "name": "POP", "source": 1 }, - { "begin": 7139, "end": 7399, "name": "SWAP3", "source": 1 }, - { "begin": 7139, "end": 7399, "name": "SWAP2", "source": 1 }, - { "begin": 7139, "end": 7399, "name": "POP", "source": 1 }, - { "begin": 7139, "end": 7399, "name": "POP", "source": 1 }, - { - "begin": 7139, - "end": 7399, - "name": "JUMP", - "source": 1, - "value": "[out]" + "value": "229" }, + { "begin": 10835, "end": 10914, "name": "JUMPDEST", "source": 1 }, { - "begin": 7405, - "end": 7564, + "begin": 10799, + "end": 10916, "name": "tag", "source": 1, - "value": "147" + "value": "228" }, - { "begin": 7405, "end": 7564, "name": "JUMPDEST", "source": 1 }, + { "begin": 10799, "end": 10916, "name": "JUMPDEST", "source": 1 }, { - "begin": 7506, - "end": 7557, + "begin": 10940, + "end": 11021, "name": "PUSH [tag]", "source": 1, - "value": "149" + "value": "230" }, - { "begin": 7551, "end": 7556, "name": "DUP2", "source": 1 }, + { "begin": 11013, "end": 11020, "name": "DUP8", "source": 1 }, + { "begin": 11004, "end": 11010, "name": "DUP3", "source": 1 }, + { "begin": 10993, "end": 11002, "name": "DUP9", "source": 1 }, + { "begin": 10989, "end": 11011, "name": "ADD", "source": 1 }, { - "begin": 7506, - "end": 7557, + "begin": 10940, + "end": 11021, "name": "PUSH [tag]", "source": 1, - "value": "150" + "value": "74" }, { - "begin": 7506, - "end": 7557, + "begin": 10940, + "end": 11021, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 7506, - "end": 7557, + "begin": 10940, + "end": 11021, "name": "tag", "source": 1, - "value": "149" + "value": "230" }, - { "begin": 7506, "end": 7557, "name": "JUMPDEST", "source": 1 }, - { "begin": 7501, "end": 7504, "name": "DUP3", "source": 1 }, - { "begin": 7494, "end": 7558, "name": "MSTORE", "source": 1 }, - { "begin": 7484, "end": 7564, "name": "POP", "source": 1 }, - { "begin": 7484, "end": 7564, "name": "POP", "source": 1 }, + { "begin": 10940, "end": 11021, "name": "JUMPDEST", "source": 1 }, + { "begin": 10930, "end": 11021, "name": "SWAP5", "source": 1 }, + { "begin": 10930, "end": 11021, "name": "POP", "source": 1 }, + { "begin": 10726, "end": 11031, "name": "POP", "source": 1 }, { - "begin": 7484, - "end": 7564, - "name": "JUMP", + "begin": 11070, + "end": 11072, + "name": "PUSH", "source": 1, - "value": "[out]" + "value": "20" }, { - "begin": 7638, - "end": 8301, - "name": "tag", + "begin": 11096, + "end": 11149, + "name": "PUSH [tag]", "source": 1, - "value": "151" + "value": "231" }, - { "begin": 7638, "end": 8301, "name": "JUMPDEST", "source": 1 }, + { "begin": 11141, "end": 11148, "name": "DUP8", "source": 1 }, + { "begin": 11132, "end": 11138, "name": "DUP3", "source": 1 }, + { "begin": 11121, "end": 11130, "name": "DUP9", "source": 1 }, + { "begin": 11117, "end": 11139, "name": "ADD", "source": 1 }, { - "begin": 7763, - "end": 7766, - "name": "PUSH", + "begin": 11096, + "end": 11149, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "77" }, { - "begin": 7799, - "end": 7803, + "begin": 11096, + "end": 11149, + "name": "JUMP", + "source": 1, + "value": "[in]" + }, + { + "begin": 11096, + "end": 11149, + "name": "tag", + "source": 1, + "value": "231" + }, + { "begin": 11096, "end": 11149, "name": "JUMPDEST", "source": 1 }, + { "begin": 11086, "end": 11149, "name": "SWAP4", "source": 1 }, + { "begin": 11086, "end": 11149, "name": "POP", "source": 1 }, + { "begin": 11041, "end": 11159, "name": "POP", "source": 1 }, + { + "begin": 11226, + "end": 11228, "name": "PUSH", "source": 1, "value": "40" }, - { "begin": 7794, "end": 7797, "name": "DUP4", "source": 1 }, - { "begin": 7790, "end": 7804, "name": "ADD", "source": 1 }, + { "begin": 11215, "end": 11224, "name": "DUP6", "source": 1 }, + { "begin": 11211, "end": 11229, "name": "ADD", "source": 1 }, + { + "begin": 11198, + "end": 11230, + "name": "CALLDATALOAD", + "source": 1 + }, { - "begin": 7889, - "end": 7893, + "begin": 11257, + "end": 11275, "name": "PUSH", "source": 1, - "value": "0" + "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 7882, "end": 7887, "name": "DUP4", "source": 1 }, - { "begin": 7878, "end": 7894, "name": "ADD", "source": 1 }, - { "begin": 7872, "end": 7895, "name": "MLOAD", "source": 1 }, + { "begin": 11249, "end": 11255, "name": "DUP2", "source": 1 }, + { "begin": 11246, "end": 11276, "name": "GT", "source": 1 }, + { "begin": 11243, "end": 11360, "name": "ISZERO", "source": 1 }, { - "begin": 7908, - "end": 7967, + "begin": 11243, + "end": 11360, "name": "PUSH [tag]", "source": 1, - "value": "153" + "value": "232" }, + { "begin": 11243, "end": 11360, "name": "JUMPI", "source": 1 }, { - "begin": 7961, - "end": 7965, - "name": "PUSH", + "begin": 11279, + "end": 11358, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "233" }, - { "begin": 7956, "end": 7959, "name": "DUP7", "source": 1 }, - { "begin": 7952, "end": 7966, "name": "ADD", "source": 1 }, - { "begin": 7938, "end": 7950, "name": "DUP3", "source": 1 }, { - "begin": 7908, - "end": 7967, + "begin": 11279, + "end": 11358, "name": "PUSH [tag]", "source": 1, - "value": "154" + "value": "54" }, { - "begin": 7908, - "end": 7967, + "begin": 11279, + "end": 11358, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 7908, - "end": 7967, + "begin": 11279, + "end": 11358, "name": "tag", "source": 1, - "value": "153" - }, - { "begin": 7908, "end": 7967, "name": "JUMPDEST", "source": 1 }, - { "begin": 7814, "end": 7977, "name": "POP", "source": 1 }, - { - "begin": 8063, - "end": 8067, - "name": "PUSH", - "source": 1, - "value": "20" + "value": "233" }, - { "begin": 8056, "end": 8061, "name": "DUP4", "source": 1 }, - { "begin": 8052, "end": 8068, "name": "ADD", "source": 1 }, - { "begin": 8046, "end": 8069, "name": "MLOAD", "source": 1 }, - { "begin": 8116, "end": 8119, "name": "DUP5", "source": 1 }, - { "begin": 8110, "end": 8114, "name": "DUP3", "source": 1 }, - { "begin": 8106, "end": 8120, "name": "SUB", "source": 1 }, + { "begin": 11279, "end": 11358, "name": "JUMPDEST", "source": 1 }, { - "begin": 8099, - "end": 8103, - "name": "PUSH", + "begin": 11243, + "end": 11360, + "name": "tag", "source": 1, - "value": "20" + "value": "232" }, - { "begin": 8094, "end": 8097, "name": "DUP7", "source": 1 }, - { "begin": 8090, "end": 8104, "name": "ADD", "source": 1 }, - { "begin": 8083, "end": 8121, "name": "MSTORE", "source": 1 }, + { "begin": 11243, "end": 11360, "name": "JUMPDEST", "source": 1 }, { - "begin": 8142, - "end": 8263, + "begin": 11384, + "end": 11465, "name": "PUSH [tag]", "source": 1, - "value": "155" + "value": "234" }, - { "begin": 8258, "end": 8262, "name": "DUP3", "source": 1 }, - { "begin": 8244, "end": 8256, "name": "DUP3", "source": 1 }, + { "begin": 11457, "end": 11464, "name": "DUP8", "source": 1 }, + { "begin": 11448, "end": 11454, "name": "DUP3", "source": 1 }, + { "begin": 11437, "end": 11446, "name": "DUP9", "source": 1 }, + { "begin": 11433, "end": 11455, "name": "ADD", "source": 1 }, { - "begin": 8142, - "end": 8263, + "begin": 11384, + "end": 11465, "name": "PUSH [tag]", "source": 1, - "value": "124" + "value": "74" }, { - "begin": 8142, - "end": 8263, + "begin": 11384, + "end": 11465, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 8142, - "end": 8263, + "begin": 11384, + "end": 11465, "name": "tag", "source": 1, - "value": "155" - }, - { "begin": 8142, "end": 8263, "name": "JUMPDEST", "source": 1 }, - { "begin": 8134, "end": 8263, "name": "SWAP2", "source": 1 }, - { "begin": 8134, "end": 8263, "name": "POP", "source": 1 }, - { "begin": 7987, "end": 8274, "name": "POP", "source": 1 }, - { "begin": 8291, "end": 8295, "name": "DUP1", "source": 1 }, - { "begin": 8284, "end": 8295, "name": "SWAP2", "source": 1 }, - { "begin": 8284, "end": 8295, "name": "POP", "source": 1 }, - { "begin": 7768, "end": 8301, "name": "POP", "source": 1 }, - { "begin": 7768, "end": 8301, "name": "SWAP3", "source": 1 }, - { "begin": 7768, "end": 8301, "name": "SWAP2", "source": 1 }, - { "begin": 7768, "end": 8301, "name": "POP", "source": 1 }, - { "begin": 7768, "end": 8301, "name": "POP", "source": 1 }, - { - "begin": 7768, - "end": 8301, - "name": "JUMP", - "source": 1, - "value": "[out]" + "value": "234" }, + { "begin": 11384, "end": 11465, "name": "JUMPDEST", "source": 1 }, + { "begin": 11374, "end": 11465, "name": "SWAP3", "source": 1 }, + { "begin": 11374, "end": 11465, "name": "POP", "source": 1 }, + { "begin": 11169, "end": 11475, "name": "POP", "source": 1 }, { - "begin": 8307, - "end": 8425, - "name": "tag", + "begin": 11514, + "end": 11516, + "name": "PUSH", "source": 1, - "value": "156" + "value": "60" }, - { "begin": 8307, "end": 8425, "name": "JUMPDEST", "source": 1 }, { - "begin": 8394, - "end": 8418, + "begin": 11540, + "end": 11592, "name": "PUSH [tag]", "source": 1, - "value": "158" + "value": "235" }, - { "begin": 8412, "end": 8417, "name": "DUP2", "source": 1 }, + { "begin": 11584, "end": 11591, "name": "DUP8", "source": 1 }, + { "begin": 11575, "end": 11581, "name": "DUP3", "source": 1 }, + { "begin": 11564, "end": 11573, "name": "DUP9", "source": 1 }, + { "begin": 11560, "end": 11582, "name": "ADD", "source": 1 }, { - "begin": 8394, - "end": 8418, + "begin": 11540, + "end": 11592, "name": "PUSH [tag]", "source": 1, - "value": "159" + "value": "80" }, { - "begin": 8394, - "end": 8418, + "begin": 11540, + "end": 11592, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 8394, - "end": 8418, + "begin": 11540, + "end": 11592, "name": "tag", "source": 1, - "value": "158" + "value": "235" }, - { "begin": 8394, "end": 8418, "name": "JUMPDEST", "source": 1 }, - { "begin": 8389, "end": 8392, "name": "DUP3", "source": 1 }, - { "begin": 8382, "end": 8419, "name": "MSTORE", "source": 1 }, - { "begin": 8372, "end": 8425, "name": "POP", "source": 1 }, - { "begin": 8372, "end": 8425, "name": "POP", "source": 1 }, - { - "begin": 8372, - "end": 8425, + { "begin": 11540, "end": 11592, "name": "JUMPDEST", "source": 1 }, + { "begin": 11530, "end": 11592, "name": "SWAP2", "source": 1 }, + { "begin": 11530, "end": 11592, "name": "POP", "source": 1 }, + { "begin": 11485, "end": 11602, "name": "POP", "source": 1 }, + { "begin": 10414, "end": 11609, "name": "SWAP3", "source": 1 }, + { "begin": 10414, "end": 11609, "name": "SWAP6", "source": 1 }, + { "begin": 10414, "end": 11609, "name": "SWAP2", "source": 1 }, + { "begin": 10414, "end": 11609, "name": "SWAP5", "source": 1 }, + { "begin": 10414, "end": 11609, "name": "POP", "source": 1 }, + { "begin": 10414, "end": 11609, "name": "SWAP3", "source": 1 }, + { "begin": 10414, "end": 11609, "name": "POP", "source": 1 }, + { + "begin": 10414, + "end": 11609, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 8431, - "end": 8546, + "begin": 11615, + "end": 12594, "name": "tag", "source": 1, - "value": "160" + "value": "26" + }, + { "begin": 11615, "end": 12594, "name": "JUMPDEST", "source": 1 }, + { + "begin": 11728, + "end": 11734, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { "begin": 11736, "end": 11742, "name": "DUP1", "source": 1 }, + { + "begin": 11744, + "end": 11750, + "name": "PUSH", + "source": 1, + "value": "0" + }, + { "begin": 11752, "end": 11758, "name": "DUP1", "source": 1 }, + { + "begin": 11801, + "end": 11804, + "name": "PUSH", + "source": 1, + "value": "80" }, - { "begin": 8431, "end": 8546, "name": "JUMPDEST", "source": 1 }, + { "begin": 11789, "end": 11798, "name": "DUP6", "source": 1 }, + { "begin": 11780, "end": 11787, "name": "DUP8", "source": 1 }, + { "begin": 11776, "end": 11799, "name": "SUB", "source": 1 }, + { "begin": 11772, "end": 11805, "name": "SLT", "source": 1 }, + { "begin": 11769, "end": 11889, "name": "ISZERO", "source": 1 }, { - "begin": 8516, - "end": 8539, + "begin": 11769, + "end": 11889, "name": "PUSH [tag]", "source": 1, - "value": "162" + "value": "237" }, - { "begin": 8533, "end": 8538, "name": "DUP2", "source": 1 }, + { "begin": 11769, "end": 11889, "name": "JUMPI", "source": 1 }, { - "begin": 8516, - "end": 8539, + "begin": 11808, + "end": 11887, "name": "PUSH [tag]", "source": 1, - "value": "163" + "value": "238" + }, + { + "begin": 11808, + "end": 11887, + "name": "PUSH [tag]", + "source": 1, + "value": "53" }, { - "begin": 8516, - "end": 8539, + "begin": 11808, + "end": 11887, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 8516, - "end": 8539, + "begin": 11808, + "end": 11887, "name": "tag", "source": 1, - "value": "162" + "value": "238" }, - { "begin": 8516, "end": 8539, "name": "JUMPDEST", "source": 1 }, - { "begin": 8511, "end": 8514, "name": "DUP3", "source": 1 }, - { "begin": 8504, "end": 8540, "name": "MSTORE", "source": 1 }, - { "begin": 8494, "end": 8546, "name": "POP", "source": 1 }, - { "begin": 8494, "end": 8546, "name": "POP", "source": 1 }, + { "begin": 11808, "end": 11887, "name": "JUMPDEST", "source": 1 }, { - "begin": 8494, - "end": 8546, - "name": "JUMP", + "begin": 11769, + "end": 11889, + "name": "tag", "source": 1, - "value": "[out]" + "value": "237" }, + { "begin": 11769, "end": 11889, "name": "JUMPDEST", "source": 1 }, { - "begin": 8552, - "end": 8654, - "name": "tag", + "begin": 11928, + "end": 11929, + "name": "PUSH", "source": 1, - "value": "154" + "value": "0" }, - { "begin": 8552, "end": 8654, "name": "JUMPDEST", "source": 1 }, { - "begin": 8625, - "end": 8647, + "begin": 11953, + "end": 12006, "name": "PUSH [tag]", "source": 1, - "value": "165" + "value": "239" }, - { "begin": 8641, "end": 8646, "name": "DUP2", "source": 1 }, + { "begin": 11998, "end": 12005, "name": "DUP8", "source": 1 }, + { "begin": 11989, "end": 11995, "name": "DUP3", "source": 1 }, + { "begin": 11978, "end": 11987, "name": "DUP9", "source": 1 }, + { "begin": 11974, "end": 11996, "name": "ADD", "source": 1 }, { - "begin": 8625, - "end": 8647, + "begin": 11953, + "end": 12006, "name": "PUSH [tag]", "source": 1, - "value": "166" + "value": "84" }, { - "begin": 8625, - "end": 8647, + "begin": 11953, + "end": 12006, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 8625, - "end": 8647, + "begin": 11953, + "end": 12006, "name": "tag", "source": 1, - "value": "165" + "value": "239" + }, + { "begin": 11953, "end": 12006, "name": "JUMPDEST", "source": 1 }, + { "begin": 11943, "end": 12006, "name": "SWAP5", "source": 1 }, + { "begin": 11943, "end": 12006, "name": "POP", "source": 1 }, + { "begin": 11899, "end": 12016, "name": "POP", "source": 1 }, + { + "begin": 12055, + "end": 12057, + "name": "PUSH", + "source": 1, + "value": "20" + }, + { + "begin": 12081, + "end": 12134, + "name": "PUSH [tag]", + "source": 1, + "value": "240" + }, + { "begin": 12126, "end": 12133, "name": "DUP8", "source": 1 }, + { "begin": 12117, "end": 12123, "name": "DUP3", "source": 1 }, + { "begin": 12106, "end": 12115, "name": "DUP9", "source": 1 }, + { "begin": 12102, "end": 12124, "name": "ADD", "source": 1 }, + { + "begin": 12081, + "end": 12134, + "name": "PUSH [tag]", + "source": 1, + "value": "77" }, - { "begin": 8625, "end": 8647, "name": "JUMPDEST", "source": 1 }, - { "begin": 8620, "end": 8623, "name": "DUP3", "source": 1 }, - { "begin": 8613, "end": 8648, "name": "MSTORE", "source": 1 }, - { "begin": 8603, "end": 8654, "name": "POP", "source": 1 }, - { "begin": 8603, "end": 8654, "name": "POP", "source": 1 }, { - "begin": 8603, - "end": 8654, + "begin": 12081, + "end": 12134, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 8660, - "end": 9372, + "begin": 12081, + "end": 12134, "name": "tag", "source": 1, - "value": "26" + "value": "240" }, - { "begin": 8660, "end": 9372, "name": "JUMPDEST", "source": 1 }, + { "begin": 12081, "end": 12134, "name": "JUMPDEST", "source": 1 }, + { "begin": 12071, "end": 12134, "name": "SWAP4", "source": 1 }, + { "begin": 12071, "end": 12134, "name": "POP", "source": 1 }, + { "begin": 12026, "end": 12144, "name": "POP", "source": 1 }, { - "begin": 8891, - "end": 8895, + "begin": 12211, + "end": 12213, "name": "PUSH", "source": 1, - "value": "0" + "value": "40" + }, + { "begin": 12200, "end": 12209, "name": "DUP6", "source": 1 }, + { "begin": 12196, "end": 12214, "name": "ADD", "source": 1 }, + { + "begin": 12183, + "end": 12215, + "name": "CALLDATALOAD", + "source": 1 }, { - "begin": 8929, - "end": 8932, + "begin": 12242, + "end": 12260, "name": "PUSH", "source": 1, - "value": "80" + "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 8918, "end": 8927, "name": "DUP3", "source": 1 }, - { "begin": 8914, "end": 8933, "name": "ADD", "source": 1 }, - { "begin": 8906, "end": 8933, "name": "SWAP1", "source": 1 }, - { "begin": 8906, "end": 8933, "name": "POP", "source": 1 }, + { "begin": 12234, "end": 12240, "name": "DUP2", "source": 1 }, + { "begin": 12231, "end": 12261, "name": "GT", "source": 1 }, + { "begin": 12228, "end": 12345, "name": "ISZERO", "source": 1 }, { - "begin": 8943, - "end": 9014, + "begin": 12228, + "end": 12345, "name": "PUSH [tag]", "source": 1, - "value": "168" + "value": "241" }, + { "begin": 12228, "end": 12345, "name": "JUMPI", "source": 1 }, { - "begin": 9011, - "end": 9012, - "name": "PUSH", + "begin": 12264, + "end": 12343, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "242" }, - { "begin": 9000, "end": 9009, "name": "DUP4", "source": 1 }, - { "begin": 8996, "end": 9013, "name": "ADD", "source": 1 }, - { "begin": 8987, "end": 8993, "name": "DUP8", "source": 1 }, { - "begin": 8943, - "end": 9014, + "begin": 12264, + "end": 12343, "name": "PUSH [tag]", "source": 1, - "value": "120" + "value": "54" }, { - "begin": 8943, - "end": 9014, + "begin": 12264, + "end": 12343, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 8943, - "end": 9014, + "begin": 12264, + "end": 12343, "name": "tag", "source": 1, - "value": "168" + "value": "242" }, - { "begin": 8943, "end": 9014, "name": "JUMPDEST", "source": 1 }, + { "begin": 12264, "end": 12343, "name": "JUMPDEST", "source": 1 }, { - "begin": 9024, - "end": 9096, - "name": "PUSH [tag]", + "begin": 12228, + "end": 12345, + "name": "tag", "source": 1, - "value": "169" + "value": "241" }, + { "begin": 12228, "end": 12345, "name": "JUMPDEST", "source": 1 }, { - "begin": 9092, - "end": 9094, - "name": "PUSH", + "begin": 12369, + "end": 12450, + "name": "PUSH [tag]", "source": 1, - "value": "20" + "value": "243" }, - { "begin": 9081, "end": 9090, "name": "DUP4", "source": 1 }, - { "begin": 9077, "end": 9095, "name": "ADD", "source": 1 }, - { "begin": 9068, "end": 9074, "name": "DUP7", "source": 1 }, + { "begin": 12442, "end": 12449, "name": "DUP8", "source": 1 }, + { "begin": 12433, "end": 12439, "name": "DUP3", "source": 1 }, + { "begin": 12422, "end": 12431, "name": "DUP9", "source": 1 }, + { "begin": 12418, "end": 12440, "name": "ADD", "source": 1 }, { - "begin": 9024, - "end": 9096, + "begin": 12369, + "end": 12450, "name": "PUSH [tag]", "source": 1, - "value": "156" + "value": "74" }, { - "begin": 9024, - "end": 9096, + "begin": 12369, + "end": 12450, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 9024, - "end": 9096, + "begin": 12369, + "end": 12450, "name": "tag", "source": 1, - "value": "169" + "value": "243" }, - { "begin": 9024, "end": 9096, "name": "JUMPDEST", "source": 1 }, - { "begin": 9143, "end": 9152, "name": "DUP2", "source": 1 }, - { "begin": 9137, "end": 9141, "name": "DUP2", "source": 1 }, - { "begin": 9133, "end": 9153, "name": "SUB", "source": 1 }, + { "begin": 12369, "end": 12450, "name": "JUMPDEST", "source": 1 }, + { "begin": 12359, "end": 12450, "name": "SWAP3", "source": 1 }, + { "begin": 12359, "end": 12450, "name": "POP", "source": 1 }, + { "begin": 12154, "end": 12460, "name": "POP", "source": 1 }, { - "begin": 9128, - "end": 9130, + "begin": 12499, + "end": 12501, "name": "PUSH", "source": 1, - "value": "40" + "value": "60" }, - { "begin": 9117, "end": 9126, "name": "DUP4", "source": 1 }, - { "begin": 9113, "end": 9131, "name": "ADD", "source": 1 }, - { "begin": 9106, "end": 9154, "name": "MSTORE", "source": 1 }, { - "begin": 9171, - "end": 9285, + "begin": 12525, + "end": 12577, "name": "PUSH [tag]", "source": 1, - "value": "170" + "value": "244" }, - { "begin": 9280, "end": 9284, "name": "DUP2", "source": 1 }, - { "begin": 9271, "end": 9277, "name": "DUP6", "source": 1 }, + { "begin": 12569, "end": 12576, "name": "DUP8", "source": 1 }, + { "begin": 12560, "end": 12566, "name": "DUP3", "source": 1 }, + { "begin": 12549, "end": 12558, "name": "DUP9", "source": 1 }, + { "begin": 12545, "end": 12567, "name": "ADD", "source": 1 }, { - "begin": 9171, - "end": 9285, + "begin": 12525, + "end": 12577, "name": "PUSH [tag]", "source": 1, - "value": "151" + "value": "80" }, { - "begin": 9171, - "end": 9285, + "begin": 12525, + "end": 12577, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 9171, - "end": 9285, + "begin": 12525, + "end": 12577, "name": "tag", "source": 1, - "value": "170" + "value": "244" + }, + { "begin": 12525, "end": 12577, "name": "JUMPDEST", "source": 1 }, + { "begin": 12515, "end": 12577, "name": "SWAP2", "source": 1 }, + { "begin": 12515, "end": 12577, "name": "POP", "source": 1 }, + { "begin": 12470, "end": 12587, "name": "POP", "source": 1 }, + { "begin": 11615, "end": 12594, "name": "SWAP3", "source": 1 }, + { "begin": 11615, "end": 12594, "name": "SWAP6", "source": 1 }, + { "begin": 11615, "end": 12594, "name": "SWAP2", "source": 1 }, + { "begin": 11615, "end": 12594, "name": "SWAP5", "source": 1 }, + { "begin": 11615, "end": 12594, "name": "POP", "source": 1 }, + { "begin": 11615, "end": 12594, "name": "SWAP3", "source": 1 }, + { "begin": 11615, "end": 12594, "name": "POP", "source": 1 }, + { + "begin": 11615, + "end": 12594, + "name": "JUMP", + "source": 1, + "value": "[out]" }, - { "begin": 9171, "end": 9285, "name": "JUMPDEST", "source": 1 }, - { "begin": 9163, "end": 9285, "name": "SWAP1", "source": 1 }, - { "begin": 9163, "end": 9285, "name": "POP", "source": 1 }, { - "begin": 9295, - "end": 9365, - "name": "PUSH [tag]", + "begin": 12600, + "end": 12702, + "name": "tag", "source": 1, - "value": "171" + "value": "90" }, + { "begin": 12600, "end": 12702, "name": "JUMPDEST", "source": 1 }, { - "begin": 9361, - "end": 9363, - "name": "PUSH", + "begin": 12673, + "end": 12695, + "name": "PUSH [tag]", "source": 1, - "value": "60" + "value": "246" }, - { "begin": 9350, "end": 9359, "name": "DUP4", "source": 1 }, - { "begin": 9346, "end": 9364, "name": "ADD", "source": 1 }, - { "begin": 9337, "end": 9343, "name": "DUP5", "source": 1 }, + { "begin": 12689, "end": 12694, "name": "DUP2", "source": 1 }, { - "begin": 9295, - "end": 9365, + "begin": 12673, + "end": 12695, "name": "PUSH [tag]", "source": 1, - "value": "160" + "value": "61" }, { - "begin": 9295, - "end": 9365, + "begin": 12673, + "end": 12695, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 9295, - "end": 9365, + "begin": 12673, + "end": 12695, "name": "tag", "source": 1, - "value": "171" + "value": "246" }, - { "begin": 9295, "end": 9365, "name": "JUMPDEST", "source": 1 }, - { "begin": 8896, "end": 9372, "name": "SWAP6", "source": 1 }, - { "begin": 8896, "end": 9372, "name": "SWAP5", "source": 1 }, - { "begin": 8896, "end": 9372, "name": "POP", "source": 1 }, - { "begin": 8896, "end": 9372, "name": "POP", "source": 1 }, - { "begin": 8896, "end": 9372, "name": "POP", "source": 1 }, - { "begin": 8896, "end": 9372, "name": "POP", "source": 1 }, - { "begin": 8896, "end": 9372, "name": "POP", "source": 1 }, + { "begin": 12673, "end": 12695, "name": "JUMPDEST", "source": 1 }, + { "begin": 12668, "end": 12671, "name": "DUP3", "source": 1 }, + { "begin": 12661, "end": 12696, "name": "MSTORE", "source": 1 }, + { "begin": 12600, "end": 12702, "name": "POP", "source": 1 }, + { "begin": 12600, "end": 12702, "name": "POP", "source": 1 }, { - "begin": 8896, - "end": 9372, + "begin": 12600, + "end": 12702, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 9378, - "end": 9628, + "begin": 12708, + "end": 12831, "name": "tag", "source": 1, - "value": "9" + "value": "91" }, - { "begin": 9378, "end": 9628, "name": "JUMPDEST", "source": 1 }, + { "begin": 12708, "end": 12831, "name": "JUMPDEST", "source": 1 }, { - "begin": 9485, - "end": 9489, + "begin": 12784, + "end": 12790, "name": "PUSH", "source": 1, "value": "0" }, + { "begin": 12818, "end": 12823, "name": "DUP2", "source": 1 }, + { "begin": 12812, "end": 12824, "name": "MLOAD", "source": 1 }, + { "begin": 12802, "end": 12824, "name": "SWAP1", "source": 1 }, + { "begin": 12802, "end": 12824, "name": "POP", "source": 1 }, + { "begin": 12708, "end": 12831, "name": "SWAP2", "source": 1 }, + { "begin": 12708, "end": 12831, "name": "SWAP1", "source": 1 }, + { "begin": 12708, "end": 12831, "name": "POP", "source": 1 }, { - "begin": 9523, - "end": 9525, - "name": "PUSH", + "begin": 12708, + "end": 12831, + "name": "JUMP", "source": 1, - "value": "20" + "value": "[out]" }, - { "begin": 9512, "end": 9521, "name": "DUP3", "source": 1 }, - { "begin": 9508, "end": 9526, "name": "ADD", "source": 1 }, - { "begin": 9500, "end": 9526, "name": "SWAP1", "source": 1 }, - { "begin": 9500, "end": 9526, "name": "POP", "source": 1 }, { - "begin": 9536, - "end": 9621, - "name": "PUSH [tag]", + "begin": 12837, + "end": 13020, + "name": "tag", "source": 1, - "value": "173" + "value": "92" }, + { "begin": 12837, "end": 13020, "name": "JUMPDEST", "source": 1 }, { - "begin": 9618, - "end": 9619, + "begin": 12935, + "end": 12946, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 9607, "end": 9616, "name": "DUP4", "source": 1 }, - { "begin": 9603, "end": 9620, "name": "ADD", "source": 1 }, - { "begin": 9594, "end": 9600, "name": "DUP5", "source": 1 }, - { - "begin": 9536, - "end": 9621, - "name": "PUSH [tag]", - "source": 1, - "value": "147" - }, + { "begin": 12969, "end": 12975, "name": "DUP3", "source": 1 }, + { "begin": 12964, "end": 12967, "name": "DUP3", "source": 1 }, + { "begin": 12957, "end": 12976, "name": "MSTORE", "source": 1 }, { - "begin": 9536, - "end": 9621, - "name": "JUMP", - "source": 1, - "value": "[in]" - }, - { - "begin": 9536, - "end": 9621, - "name": "tag", + "begin": 13009, + "end": 13013, + "name": "PUSH", "source": 1, - "value": "173" + "value": "20" }, - { "begin": 9536, "end": 9621, "name": "JUMPDEST", "source": 1 }, - { "begin": 9490, "end": 9628, "name": "SWAP3", "source": 1 }, - { "begin": 9490, "end": 9628, "name": "SWAP2", "source": 1 }, - { "begin": 9490, "end": 9628, "name": "POP", "source": 1 }, - { "begin": 9490, "end": 9628, "name": "POP", "source": 1 }, - { - "begin": 9490, - "end": 9628, + { "begin": 13004, "end": 13007, "name": "DUP3", "source": 1 }, + { "begin": 13000, "end": 13014, "name": "ADD", "source": 1 }, + { "begin": 12985, "end": 13014, "name": "SWAP1", "source": 1 }, + { "begin": 12985, "end": 13014, "name": "POP", "source": 1 }, + { "begin": 12837, "end": 13020, "name": "SWAP3", "source": 1 }, + { "begin": 12837, "end": 13020, "name": "SWAP2", "source": 1 }, + { "begin": 12837, "end": 13020, "name": "POP", "source": 1 }, + { "begin": 12837, "end": 13020, "name": "POP", "source": 1 }, + { + "begin": 12837, + "end": 13020, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 9634, - "end": 10509, + "begin": 13026, + "end": 13167, "name": "tag", "source": 1, - "value": "20" + "value": "93" }, - { "begin": 9634, "end": 10509, "name": "JUMPDEST", "source": 1 }, + { "begin": 13026, "end": 13167, "name": "JUMPDEST", "source": 1 }, { - "begin": 9921, - "end": 9925, + "begin": 13102, + "end": 13106, "name": "PUSH", "source": 1, "value": "0" }, + { "begin": 13125, "end": 13128, "name": "DUP2", "source": 1 }, + { "begin": 13117, "end": 13128, "name": "SWAP1", "source": 1 }, + { "begin": 13117, "end": 13128, "name": "POP", "source": 1 }, { - "begin": 9959, - "end": 9962, + "begin": 13155, + "end": 13159, "name": "PUSH", "source": 1, - "value": "80" + "value": "20" }, - { "begin": 9948, "end": 9957, "name": "DUP3", "source": 1 }, - { "begin": 9944, "end": 9963, "name": "ADD", "source": 1 }, - { "begin": 9936, "end": 9963, "name": "SWAP1", "source": 1 }, - { "begin": 9936, "end": 9963, "name": "POP", "source": 1 }, - { "begin": 10009, "end": 10018, "name": "DUP2", "source": 1 }, - { "begin": 10003, "end": 10007, "name": "DUP2", "source": 1 }, - { "begin": 9999, "end": 10019, "name": "SUB", "source": 1 }, + { "begin": 13150, "end": 13153, "name": "DUP3", "source": 1 }, + { "begin": 13146, "end": 13160, "name": "ADD", "source": 1 }, + { "begin": 13138, "end": 13160, "name": "SWAP1", "source": 1 }, + { "begin": 13138, "end": 13160, "name": "POP", "source": 1 }, + { "begin": 13026, "end": 13167, "name": "SWAP2", "source": 1 }, + { "begin": 13026, "end": 13167, "name": "SWAP1", "source": 1 }, + { "begin": 13026, "end": 13167, "name": "POP", "source": 1 }, { - "begin": 9995, - "end": 9996, - "name": "PUSH", + "begin": 13026, + "end": 13167, + "name": "JUMP", "source": 1, - "value": "0" + "value": "[out]" }, - { "begin": 9984, "end": 9993, "name": "DUP4", "source": 1 }, - { "begin": 9980, "end": 9997, "name": "ADD", "source": 1 }, - { "begin": 9973, "end": 10020, "name": "MSTORE", "source": 1 }, { - "begin": 10037, - "end": 10151, - "name": "PUSH [tag]", + "begin": 13173, + "end": 13271, + "name": "tag", "source": 1, - "value": "175" + "value": "94" }, - { "begin": 10146, "end": 10150, "name": "DUP2", "source": 1 }, - { "begin": 10137, "end": 10143, "name": "DUP8", "source": 1 }, + { "begin": 13173, "end": 13271, "name": "JUMPDEST", "source": 1 }, { - "begin": 10037, - "end": 10151, - "name": "PUSH [tag]", + "begin": 13224, + "end": 13230, + "name": "PUSH", "source": 1, - "value": "151" + "value": "0" }, + { "begin": 13258, "end": 13263, "name": "DUP2", "source": 1 }, + { "begin": 13252, "end": 13264, "name": "MLOAD", "source": 1 }, + { "begin": 13242, "end": 13264, "name": "SWAP1", "source": 1 }, + { "begin": 13242, "end": 13264, "name": "POP", "source": 1 }, + { "begin": 13173, "end": 13271, "name": "SWAP2", "source": 1 }, + { "begin": 13173, "end": 13271, "name": "SWAP1", "source": 1 }, + { "begin": 13173, "end": 13271, "name": "POP", "source": 1 }, { - "begin": 10037, - "end": 10151, + "begin": 13173, + "end": 13271, "name": "JUMP", "source": 1, - "value": "[in]" - }, - { - "begin": 10037, - "end": 10151, - "name": "tag", - "source": 1, - "value": "175" + "value": "[out]" }, - { "begin": 10037, "end": 10151, "name": "JUMPDEST", "source": 1 }, - { "begin": 10029, "end": 10151, "name": "SWAP1", "source": 1 }, - { "begin": 10029, "end": 10151, "name": "POP", "source": 1 }, { - "begin": 10161, - "end": 10233, - "name": "PUSH [tag]", + "begin": 13277, + "end": 13435, + "name": "tag", "source": 1, - "value": "176" + "value": "95" }, + { "begin": 13277, "end": 13435, "name": "JUMPDEST", "source": 1 }, { - "begin": 10229, - "end": 10231, + "begin": 13350, + "end": 13361, "name": "PUSH", "source": 1, - "value": "20" + "value": "0" }, - { "begin": 10218, "end": 10227, "name": "DUP4", "source": 1 }, - { "begin": 10214, "end": 10232, "name": "ADD", "source": 1 }, - { "begin": 10205, "end": 10211, "name": "DUP7", "source": 1 }, + { "begin": 13384, "end": 13390, "name": "DUP3", "source": 1 }, + { "begin": 13379, "end": 13382, "name": "DUP3", "source": 1 }, + { "begin": 13372, "end": 13391, "name": "MSTORE", "source": 1 }, { - "begin": 10161, - "end": 10233, - "name": "PUSH [tag]", + "begin": 13424, + "end": 13428, + "name": "PUSH", "source": 1, - "value": "156" + "value": "20" }, - { - "begin": 10161, - "end": 10233, + { "begin": 13419, "end": 13422, "name": "DUP3", "source": 1 }, + { "begin": 13415, "end": 13429, "name": "ADD", "source": 1 }, + { "begin": 13400, "end": 13429, "name": "SWAP1", "source": 1 }, + { "begin": 13400, "end": 13429, "name": "POP", "source": 1 }, + { "begin": 13277, "end": 13435, "name": "SWAP3", "source": 1 }, + { "begin": 13277, "end": 13435, "name": "SWAP2", "source": 1 }, + { "begin": 13277, "end": 13435, "name": "POP", "source": 1 }, + { "begin": 13277, "end": 13435, "name": "POP", "source": 1 }, + { + "begin": 13277, + "end": 13435, "name": "JUMP", "source": 1, - "value": "[in]" + "value": "[out]" }, { - "begin": 10161, - "end": 10233, + "begin": 13441, + "end": 13748, "name": "tag", "source": 1, - "value": "176" + "value": "96" }, - { "begin": 10161, "end": 10233, "name": "JUMPDEST", "source": 1 }, - { "begin": 10280, "end": 10289, "name": "DUP2", "source": 1 }, - { "begin": 10274, "end": 10278, "name": "DUP2", "source": 1 }, - { "begin": 10270, "end": 10290, "name": "SUB", "source": 1 }, + { "begin": 13441, "end": 13748, "name": "JUMPDEST", "source": 1 }, { - "begin": 10265, - "end": 10267, + "begin": 13509, + "end": 13510, "name": "PUSH", "source": 1, - "value": "40" + "value": "0" }, - { "begin": 10254, "end": 10263, "name": "DUP4", "source": 1 }, - { "begin": 10250, "end": 10268, "name": "ADD", "source": 1 }, - { "begin": 10243, "end": 10291, "name": "MSTORE", "source": 1 }, { - "begin": 10308, - "end": 10422, - "name": "PUSH [tag]", + "begin": 13519, + "end": 13632, + "name": "tag", "source": 1, - "value": "177" + "value": "253" }, - { "begin": 10417, "end": 10421, "name": "DUP2", "source": 1 }, - { "begin": 10408, "end": 10414, "name": "DUP6", "source": 1 }, + { "begin": 13519, "end": 13632, "name": "JUMPDEST", "source": 1 }, + { "begin": 13533, "end": 13539, "name": "DUP4", "source": 1 }, + { "begin": 13530, "end": 13531, "name": "DUP2", "source": 1 }, + { "begin": 13527, "end": 13540, "name": "LT", "source": 1 }, + { "begin": 13519, "end": 13632, "name": "ISZERO", "source": 1 }, { - "begin": 10308, - "end": 10422, + "begin": 13519, + "end": 13632, "name": "PUSH [tag]", "source": 1, - "value": "151" - }, - { - "begin": 10308, - "end": 10422, - "name": "JUMP", - "source": 1, - "value": "[in]" + "value": "255" }, + { "begin": 13519, "end": 13632, "name": "JUMPI", "source": 1 }, + { "begin": 13618, "end": 13619, "name": "DUP1", "source": 1 }, + { "begin": 13613, "end": 13616, "name": "DUP3", "source": 1 }, + { "begin": 13609, "end": 13620, "name": "ADD", "source": 1 }, + { "begin": 13603, "end": 13621, "name": "MLOAD", "source": 1 }, + { "begin": 13599, "end": 13600, "name": "DUP2", "source": 1 }, + { "begin": 13594, "end": 13597, "name": "DUP5", "source": 1 }, + { "begin": 13590, "end": 13601, "name": "ADD", "source": 1 }, + { "begin": 13583, "end": 13622, "name": "MSTORE", "source": 1 }, { - "begin": 10308, - "end": 10422, - "name": "tag", + "begin": 13555, + "end": 13557, + "name": "PUSH", "source": 1, - "value": "177" + "value": "20" }, - { "begin": 10308, "end": 10422, "name": "JUMPDEST", "source": 1 }, - { "begin": 10300, "end": 10422, "name": "SWAP1", "source": 1 }, - { "begin": 10300, "end": 10422, "name": "POP", "source": 1 }, + { "begin": 13552, "end": 13553, "name": "DUP2", "source": 1 }, + { "begin": 13548, "end": 13558, "name": "ADD", "source": 1 }, + { "begin": 13543, "end": 13558, "name": "SWAP1", "source": 1 }, + { "begin": 13543, "end": 13558, "name": "POP", "source": 1 }, { - "begin": 10432, - "end": 10502, + "begin": 13519, + "end": 13632, "name": "PUSH [tag]", "source": 1, - "value": "178" + "value": "253" }, + { "begin": 13519, "end": 13632, "name": "JUMP", "source": 1 }, { - "begin": 10498, - "end": 10500, - "name": "PUSH", + "begin": 13519, + "end": 13632, + "name": "tag", "source": 1, - "value": "60" + "value": "255" }, - { "begin": 10487, "end": 10496, "name": "DUP4", "source": 1 }, - { "begin": 10483, "end": 10501, "name": "ADD", "source": 1 }, - { "begin": 10474, "end": 10480, "name": "DUP5", "source": 1 }, + { "begin": 13519, "end": 13632, "name": "JUMPDEST", "source": 1 }, + { "begin": 13650, "end": 13656, "name": "DUP4", "source": 1 }, + { "begin": 13647, "end": 13648, "name": "DUP2", "source": 1 }, + { "begin": 13644, "end": 13657, "name": "GT", "source": 1 }, + { "begin": 13641, "end": 13742, "name": "ISZERO", "source": 1 }, { - "begin": 10432, - "end": 10502, + "begin": 13641, + "end": 13742, "name": "PUSH [tag]", "source": 1, - "value": "160" + "value": "256" }, + { "begin": 13641, "end": 13742, "name": "JUMPI", "source": 1 }, { - "begin": 10432, - "end": 10502, - "name": "JUMP", + "begin": 13730, + "end": 13731, + "name": "PUSH", "source": 1, - "value": "[in]" + "value": "0" }, + { "begin": 13721, "end": 13727, "name": "DUP5", "source": 1 }, + { "begin": 13716, "end": 13719, "name": "DUP5", "source": 1 }, + { "begin": 13712, "end": 13728, "name": "ADD", "source": 1 }, + { "begin": 13705, "end": 13732, "name": "MSTORE", "source": 1 }, { - "begin": 10432, - "end": 10502, + "begin": 13641, + "end": 13742, "name": "tag", "source": 1, - "value": "178" + "value": "256" }, - { "begin": 10432, "end": 10502, "name": "JUMPDEST", "source": 1 }, - { "begin": 9926, "end": 10509, "name": "SWAP6", "source": 1 }, - { "begin": 9926, "end": 10509, "name": "SWAP5", "source": 1 }, - { "begin": 9926, "end": 10509, "name": "POP", "source": 1 }, - { "begin": 9926, "end": 10509, "name": "POP", "source": 1 }, - { "begin": 9926, "end": 10509, "name": "POP", "source": 1 }, - { "begin": 9926, "end": 10509, "name": "POP", "source": 1 }, - { "begin": 9926, "end": 10509, "name": "POP", "source": 1 }, + { "begin": 13641, "end": 13742, "name": "JUMPDEST", "source": 1 }, + { "begin": 13490, "end": 13748, "name": "POP", "source": 1 }, + { "begin": 13441, "end": 13748, "name": "POP", "source": 1 }, + { "begin": 13441, "end": 13748, "name": "POP", "source": 1 }, + { "begin": 13441, "end": 13748, "name": "POP", "source": 1 }, { - "begin": 9926, - "end": 10509, + "begin": 13441, + "end": 13748, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 10515, - "end": 10644, + "begin": 13754, + "end": 14094, "name": "tag", "source": 1, - "value": "36" + "value": "97" }, - { "begin": 10515, "end": 10644, "name": "JUMPDEST", "source": 1 }, + { "begin": 13754, "end": 14094, "name": "JUMPDEST", "source": 1 }, { - "begin": 10549, - "end": 10555, + "begin": 13830, + "end": 13833, "name": "PUSH", "source": 1, "value": "0" }, { - "begin": 10576, - "end": 10596, + "begin": 13858, + "end": 13896, "name": "PUSH [tag]", "source": 1, - "value": "180" + "value": "258" }, + { "begin": 13890, "end": 13895, "name": "DUP3", "source": 1 }, { - "begin": 10576, - "end": 10596, + "begin": 13858, + "end": 13896, "name": "PUSH [tag]", "source": 1, - "value": "181" + "value": "94" }, { - "begin": 10576, - "end": 10596, + "begin": 13858, + "end": 13896, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 10576, - "end": 10596, + "begin": 13858, + "end": 13896, "name": "tag", "source": 1, - "value": "180" + "value": "258" }, - { "begin": 10576, "end": 10596, "name": "JUMPDEST", "source": 1 }, - { "begin": 10566, "end": 10596, "name": "SWAP1", "source": 1 }, - { "begin": 10566, "end": 10596, "name": "POP", "source": 1 }, + { "begin": 13858, "end": 13896, "name": "JUMPDEST", "source": 1 }, { - "begin": 10605, - "end": 10638, + "begin": 13912, + "end": 13972, "name": "PUSH [tag]", "source": 1, - "value": "182" + "value": "259" }, - { "begin": 10633, "end": 10637, "name": "DUP3", "source": 1 }, - { "begin": 10625, "end": 10631, "name": "DUP3", "source": 1 }, + { "begin": 13965, "end": 13971, "name": "DUP2", "source": 1 }, + { "begin": 13960, "end": 13963, "name": "DUP6", "source": 1 }, { - "begin": 10605, - "end": 10638, + "begin": 13912, + "end": 13972, "name": "PUSH [tag]", "source": 1, - "value": "183" + "value": "95" }, { - "begin": 10605, - "end": 10638, + "begin": 13912, + "end": 13972, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 10605, - "end": 10638, + "begin": 13912, + "end": 13972, "name": "tag", "source": 1, - "value": "182" + "value": "259" + }, + { "begin": 13912, "end": 13972, "name": "JUMPDEST", "source": 1 }, + { "begin": 13905, "end": 13972, "name": "SWAP4", "source": 1 }, + { "begin": 13905, "end": 13972, "name": "POP", "source": 1 }, + { + "begin": 13981, + "end": 14033, + "name": "PUSH [tag]", + "source": 1, + "value": "260" + }, + { "begin": 14026, "end": 14032, "name": "DUP2", "source": 1 }, + { "begin": 14021, "end": 14024, "name": "DUP6", "source": 1 }, + { + "begin": 14014, + "end": 14018, + "name": "PUSH", + "source": 1, + "value": "20" + }, + { "begin": 14007, "end": 14012, "name": "DUP7", "source": 1 }, + { "begin": 14003, "end": 14019, "name": "ADD", "source": 1 }, + { + "begin": 13981, + "end": 14033, + "name": "PUSH [tag]", + "source": 1, + "value": "96" }, - { "begin": 10605, "end": 10638, "name": "JUMPDEST", "source": 1 }, - { "begin": 10556, "end": 10644, "name": "SWAP2", "source": 1 }, - { "begin": 10556, "end": 10644, "name": "SWAP1", "source": 1 }, - { "begin": 10556, "end": 10644, "name": "POP", "source": 1 }, { - "begin": 10556, - "end": 10644, + "begin": 13981, + "end": 14033, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 10650, - "end": 10725, + "begin": 13981, + "end": 14033, "name": "tag", "source": 1, - "value": "181" + "value": "260" }, - { "begin": 10650, "end": 10725, "name": "JUMPDEST", "source": 1 }, + { "begin": 13981, "end": 14033, "name": "JUMPDEST", "source": 1 }, { - "begin": 10683, - "end": 10689, - "name": "PUSH", + "begin": 14058, + "end": 14087, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "261" }, + { "begin": 14080, "end": 14086, "name": "DUP2", "source": 1 }, { - "begin": 10716, - "end": 10718, - "name": "PUSH", + "begin": 14058, + "end": 14087, + "name": "PUSH [tag]", "source": 1, - "value": "40" + "value": "56" }, - { "begin": 10710, "end": 10719, "name": "MLOAD", "source": 1 }, - { "begin": 10700, "end": 10719, "name": "SWAP1", "source": 1 }, - { "begin": 10700, "end": 10719, "name": "POP", "source": 1 }, - { "begin": 10690, "end": 10725, "name": "SWAP1", "source": 1 }, { - "begin": 10690, - "end": 10725, + "begin": 14058, + "end": 14087, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 10731, - "end": 11051, + "begin": 14058, + "end": 14087, "name": "tag", "source": 1, - "value": "35" - }, - { "begin": 10731, "end": 11051, "name": "JUMPDEST", "source": 1 }, - { - "begin": 10817, - "end": 10821, - "name": "PUSH", + "value": "261" + }, + { "begin": 14058, "end": 14087, "name": "JUMPDEST", "source": 1 }, + { "begin": 14053, "end": 14056, "name": "DUP5", "source": 1 }, + { "begin": 14049, "end": 14088, "name": "ADD", "source": 1 }, + { "begin": 14042, "end": 14088, "name": "SWAP2", "source": 1 }, + { "begin": 14042, "end": 14088, "name": "POP", "source": 1 }, + { "begin": 13834, "end": 14094, "name": "POP", "source": 1 }, + { "begin": 13754, "end": 14094, "name": "SWAP3", "source": 1 }, + { "begin": 13754, "end": 14094, "name": "SWAP2", "source": 1 }, + { "begin": 13754, "end": 14094, "name": "POP", "source": 1 }, + { "begin": 13754, "end": 14094, "name": "POP", "source": 1 }, + { + "begin": 13754, + "end": 14094, + "name": "JUMP", "source": 1, - "value": "0" + "value": "[out]" }, { - "begin": 10907, - "end": 10925, - "name": "PUSH", + "begin": 14100, + "end": 14292, + "name": "tag", "source": 1, - "value": "FFFFFFFFFFFFFFFF" + "value": "98" }, - { "begin": 10899, "end": 10905, "name": "DUP3", "source": 1 }, - { "begin": 10896, "end": 10926, "name": "GT", "source": 1 }, - { "begin": 10893, "end": 10895, "name": "ISZERO", "source": 1 }, + { "begin": 14100, "end": 14292, "name": "JUMPDEST", "source": 1 }, { - "begin": 10893, - "end": 10895, - "name": "PUSH [tag]", + "begin": 14187, + "end": 14197, + "name": "PUSH", "source": 1, - "value": "186" + "value": "0" }, - { "begin": 10893, "end": 10895, "name": "JUMPI", "source": 1 }, { - "begin": 10929, - "end": 10947, + "begin": 14222, + "end": 14286, "name": "PUSH [tag]", "source": 1, - "value": "187" + "value": "263" }, + { "begin": 14282, "end": 14285, "name": "DUP4", "source": 1 }, + { "begin": 14274, "end": 14280, "name": "DUP4", "source": 1 }, { - "begin": 10929, - "end": 10947, + "begin": 14222, + "end": 14286, "name": "PUSH [tag]", "source": 1, - "value": "188" + "value": "97" }, { - "begin": 10929, - "end": 10947, + "begin": 14222, + "end": 14286, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 10929, - "end": 10947, + "begin": 14222, + "end": 14286, "name": "tag", "source": 1, - "value": "187" + "value": "263" + }, + { "begin": 14222, "end": 14286, "name": "JUMPDEST", "source": 1 }, + { "begin": 14208, "end": 14286, "name": "SWAP1", "source": 1 }, + { "begin": 14208, "end": 14286, "name": "POP", "source": 1 }, + { "begin": 14100, "end": 14292, "name": "SWAP3", "source": 1 }, + { "begin": 14100, "end": 14292, "name": "SWAP2", "source": 1 }, + { "begin": 14100, "end": 14292, "name": "POP", "source": 1 }, + { "begin": 14100, "end": 14292, "name": "POP", "source": 1 }, + { + "begin": 14100, + "end": 14292, + "name": "JUMP", + "source": 1, + "value": "[out]" }, - { "begin": 10929, "end": 10947, "name": "JUMPDEST", "source": 1 }, { - "begin": 10893, - "end": 10895, + "begin": 14298, + "end": 14420, "name": "tag", "source": 1, - "value": "186" + "value": "99" }, - { "begin": 10893, "end": 10895, "name": "JUMPDEST", "source": 1 }, + { "begin": 14298, "end": 14420, "name": "JUMPDEST", "source": 1 }, { - "begin": 10979, - "end": 10983, + "begin": 14377, + "end": 14381, "name": "PUSH", "source": 1, - "value": "20" + "value": "0" }, - { "begin": 10971, "end": 10977, "name": "DUP3", "source": 1 }, - { "begin": 10967, "end": 10984, "name": "MUL", "source": 1 }, - { "begin": 10959, "end": 10984, "name": "SWAP1", "source": 1 }, - { "begin": 10959, "end": 10984, "name": "POP", "source": 1 }, { - "begin": 11039, - "end": 11043, + "begin": 14409, + "end": 14413, "name": "PUSH", "source": 1, "value": "20" }, - { "begin": 11033, "end": 11037, "name": "DUP2", "source": 1 }, - { "begin": 11029, "end": 11044, "name": "ADD", "source": 1 }, - { "begin": 11021, "end": 11044, "name": "SWAP1", "source": 1 }, - { "begin": 11021, "end": 11044, "name": "POP", "source": 1 }, - { "begin": 10822, "end": 11051, "name": "SWAP2", "source": 1 }, - { "begin": 10822, "end": 11051, "name": "SWAP1", "source": 1 }, - { "begin": 10822, "end": 11051, "name": "POP", "source": 1 }, + { "begin": 14404, "end": 14407, "name": "DUP3", "source": 1 }, + { "begin": 14400, "end": 14414, "name": "ADD", "source": 1 }, + { "begin": 14392, "end": 14414, "name": "SWAP1", "source": 1 }, + { "begin": 14392, "end": 14414, "name": "POP", "source": 1 }, + { "begin": 14298, "end": 14420, "name": "SWAP2", "source": 1 }, + { "begin": 14298, "end": 14420, "name": "SWAP1", "source": 1 }, + { "begin": 14298, "end": 14420, "name": "POP", "source": 1 }, { - "begin": 10822, - "end": 11051, + "begin": 14298, + "end": 14420, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 11057, - "end": 11364, + "begin": 14452, + "end": 15415, "name": "tag", "source": 1, - "value": "52" + "value": "100" }, - { "begin": 11057, "end": 11364, "name": "JUMPDEST", "source": 1 }, + { "begin": 14452, "end": 15415, "name": "JUMPDEST", "source": 1 }, { - "begin": 11118, - "end": 11122, + "begin": 14579, + "end": 14582, "name": "PUSH", "source": 1, "value": "0" }, { - "begin": 11208, - "end": 11226, - "name": "PUSH", - "source": 1, - "value": "FFFFFFFFFFFFFFFF" - }, - { "begin": 11200, "end": 11206, "name": "DUP3", "source": 1 }, - { "begin": 11197, "end": 11227, "name": "GT", "source": 1 }, - { "begin": 11194, "end": 11196, "name": "ISZERO", "source": 1 }, - { - "begin": 11194, - "end": 11196, - "name": "PUSH [tag]", - "source": 1, - "value": "190" - }, - { "begin": 11194, "end": 11196, "name": "JUMPI", "source": 1 }, - { - "begin": 11230, - "end": 11248, + "begin": 14608, + "end": 14671, "name": "PUSH [tag]", "source": 1, - "value": "191" + "value": "266" }, + { "begin": 14665, "end": 14670, "name": "DUP3", "source": 1 }, { - "begin": 11230, - "end": 11248, + "begin": 14608, + "end": 14671, "name": "PUSH [tag]", "source": 1, - "value": "188" + "value": "91" }, { - "begin": 11230, - "end": 11248, + "begin": 14608, + "end": 14671, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 11230, - "end": 11248, - "name": "tag", - "source": 1, - "value": "191" - }, - { "begin": 11230, "end": 11248, "name": "JUMPDEST", "source": 1 }, - { - "begin": 11194, - "end": 11196, + "begin": 14608, + "end": 14671, "name": "tag", "source": 1, - "value": "190" + "value": "266" }, - { "begin": 11194, "end": 11196, "name": "JUMPDEST", "source": 1 }, + { "begin": 14608, "end": 14671, "name": "JUMPDEST", "source": 1 }, { - "begin": 11268, - "end": 11297, + "begin": 14687, + "end": 14772, "name": "PUSH [tag]", "source": 1, - "value": "192" + "value": "267" }, - { "begin": 11290, "end": 11296, "name": "DUP3", "source": 1 }, + { "begin": 14765, "end": 14771, "name": "DUP2", "source": 1 }, + { "begin": 14760, "end": 14763, "name": "DUP6", "source": 1 }, { - "begin": 11268, - "end": 11297, + "begin": 14687, + "end": 14772, "name": "PUSH [tag]", "source": 1, - "value": "146" + "value": "92" }, { - "begin": 11268, - "end": 11297, + "begin": 14687, + "end": 14772, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 11268, - "end": 11297, + "begin": 14687, + "end": 14772, "name": "tag", "source": 1, - "value": "192" + "value": "267" }, - { "begin": 11268, "end": 11297, "name": "JUMPDEST", "source": 1 }, - { "begin": 11260, "end": 11297, "name": "SWAP1", "source": 1 }, - { "begin": 11260, "end": 11297, "name": "POP", "source": 1 }, + { "begin": 14687, "end": 14772, "name": "JUMPDEST", "source": 1 }, + { "begin": 14680, "end": 14772, "name": "SWAP4", "source": 1 }, + { "begin": 14680, "end": 14772, "name": "POP", "source": 1 }, + { "begin": 14798, "end": 14801, "name": "DUP4", "source": 1 }, { - "begin": 11352, - "end": 11356, + "begin": 14843, + "end": 14847, "name": "PUSH", "source": 1, "value": "20" }, - { "begin": 11346, "end": 11350, "name": "DUP2", "source": 1 }, - { "begin": 11342, "end": 11357, "name": "ADD", "source": 1 }, - { "begin": 11334, "end": 11357, "name": "SWAP1", "source": 1 }, - { "begin": 11334, "end": 11357, "name": "POP", "source": 1 }, - { "begin": 11123, "end": 11364, "name": "SWAP2", "source": 1 }, - { "begin": 11123, "end": 11364, "name": "SWAP1", "source": 1 }, - { "begin": 11123, "end": 11364, "name": "POP", "source": 1 }, + { "begin": 14835, "end": 14841, "name": "DUP3", "source": 1 }, + { "begin": 14831, "end": 14848, "name": "MUL", "source": 1 }, + { "begin": 14826, "end": 14829, "name": "DUP6", "source": 1 }, + { "begin": 14822, "end": 14849, "name": "ADD", "source": 1 }, + { + "begin": 14873, + "end": 14938, + "name": "PUSH [tag]", + "source": 1, + "value": "268" + }, + { "begin": 14932, "end": 14937, "name": "DUP6", "source": 1 }, + { + "begin": 14873, + "end": 14938, + "name": "PUSH [tag]", + "source": 1, + "value": "93" + }, { - "begin": 11123, - "end": 11364, + "begin": 14873, + "end": 14938, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 11370, - "end": 11511, + "begin": 14873, + "end": 14938, "name": "tag", "source": 1, - "value": "131" + "value": "268" }, - { "begin": 11370, "end": 11511, "name": "JUMPDEST", "source": 1 }, + { "begin": 14873, "end": 14938, "name": "JUMPDEST", "source": 1 }, + { "begin": 14961, "end": 14968, "name": "DUP1", "source": 1 }, { - "begin": 11446, - "end": 11450, + "begin": 14992, + "end": 14993, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 11469, "end": 11472, "name": "DUP2", "source": 1 }, - { "begin": 11461, "end": 11472, "name": "SWAP1", "source": 1 }, - { "begin": 11461, "end": 11472, "name": "POP", "source": 1 }, { - "begin": 11499, - "end": 11503, - "name": "PUSH", + "begin": 14977, + "end": 15370, + "name": "tag", "source": 1, - "value": "20" + "value": "269" }, - { "begin": 11494, "end": 11497, "name": "DUP3", "source": 1 }, - { "begin": 11490, "end": 11504, "name": "ADD", "source": 1 }, - { "begin": 11482, "end": 11504, "name": "SWAP1", "source": 1 }, - { "begin": 11482, "end": 11504, "name": "POP", "source": 1 }, - { "begin": 11451, "end": 11511, "name": "SWAP2", "source": 1 }, - { "begin": 11451, "end": 11511, "name": "SWAP1", "source": 1 }, - { "begin": 11451, "end": 11511, "name": "POP", "source": 1 }, + { "begin": 14977, "end": 15370, "name": "JUMPDEST", "source": 1 }, + { "begin": 15002, "end": 15008, "name": "DUP6", "source": 1 }, + { "begin": 14999, "end": 15000, "name": "DUP2", "source": 1 }, + { "begin": 14996, "end": 15009, "name": "LT", "source": 1 }, + { "begin": 14977, "end": 15370, "name": "ISZERO", "source": 1 }, { - "begin": 11451, - "end": 11511, - "name": "JUMP", + "begin": 14977, + "end": 15370, + "name": "PUSH [tag]", "source": 1, - "value": "[out]" + "value": "271" }, + { "begin": 14977, "end": 15370, "name": "JUMPI", "source": 1 }, + { "begin": 15073, "end": 15082, "name": "DUP5", "source": 1 }, + { "begin": 15067, "end": 15071, "name": "DUP5", "source": 1 }, + { "begin": 15063, "end": 15083, "name": "SUB", "source": 1 }, + { "begin": 15058, "end": 15061, "name": "DUP10", "source": 1 }, + { "begin": 15051, "end": 15084, "name": "MSTORE", "source": 1 }, + { "begin": 15124, "end": 15130, "name": "DUP2", "source": 1 }, + { "begin": 15118, "end": 15131, "name": "MLOAD", "source": 1 }, { - "begin": 11517, - "end": 11640, - "name": "tag", + "begin": 15152, + "end": 15234, + "name": "PUSH [tag]", "source": 1, - "value": "127" + "value": "272" }, - { "begin": 11517, "end": 11640, "name": "JUMPDEST", "source": 1 }, + { "begin": 15229, "end": 15233, "name": "DUP6", "source": 1 }, + { "begin": 15214, "end": 15227, "name": "DUP3", "source": 1 }, { - "begin": 11593, - "end": 11599, - "name": "PUSH", + "begin": 15152, + "end": 15234, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "98" }, - { "begin": 11627, "end": 11632, "name": "DUP2", "source": 1 }, - { "begin": 11621, "end": 11633, "name": "MLOAD", "source": 1 }, - { "begin": 11611, "end": 11633, "name": "SWAP1", "source": 1 }, - { "begin": 11611, "end": 11633, "name": "POP", "source": 1 }, - { "begin": 11600, "end": 11640, "name": "SWAP2", "source": 1 }, - { "begin": 11600, "end": 11640, "name": "SWAP1", "source": 1 }, - { "begin": 11600, "end": 11640, "name": "POP", "source": 1 }, { - "begin": 11600, - "end": 11640, + "begin": 15152, + "end": 15234, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 11646, - "end": 11744, + "begin": 15152, + "end": 15234, "name": "tag", "source": 1, - "value": "140" + "value": "272" }, - { "begin": 11646, "end": 11744, "name": "JUMPDEST", "source": 1 }, + { "begin": 15152, "end": 15234, "name": "JUMPDEST", "source": 1 }, + { "begin": 15144, "end": 15234, "name": "SWAP5", "source": 1 }, + { "begin": 15144, "end": 15234, "name": "POP", "source": 1 }, { - "begin": 11697, - "end": 11703, - "name": "PUSH", + "begin": 15257, + "end": 15326, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "273" + }, + { "begin": 15319, "end": 15325, "name": "DUP4", "source": 1 }, + { + "begin": 15257, + "end": 15326, + "name": "PUSH [tag]", + "source": 1, + "value": "99" }, - { "begin": 11731, "end": 11736, "name": "DUP2", "source": 1 }, - { "begin": 11725, "end": 11737, "name": "MLOAD", "source": 1 }, - { "begin": 11715, "end": 11737, "name": "SWAP1", "source": 1 }, - { "begin": 11715, "end": 11737, "name": "POP", "source": 1 }, - { "begin": 11704, "end": 11744, "name": "SWAP2", "source": 1 }, - { "begin": 11704, "end": 11744, "name": "SWAP1", "source": 1 }, - { "begin": 11704, "end": 11744, "name": "POP", "source": 1 }, { - "begin": 11704, - "end": 11744, + "begin": 15257, + "end": 15326, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 11750, - "end": 11872, + "begin": 15257, + "end": 15326, "name": "tag", "source": 1, - "value": "137" + "value": "273" }, - { "begin": 11750, "end": 11872, "name": "JUMPDEST", "source": 1 }, + { "begin": 15257, "end": 15326, "name": "JUMPDEST", "source": 1 }, + { "begin": 15247, "end": 15326, "name": "SWAP3", "source": 1 }, + { "begin": 15247, "end": 15326, "name": "POP", "source": 1 }, { - "begin": 11829, - "end": 11833, + "begin": 15355, + "end": 15359, "name": "PUSH", "source": 1, - "value": "0" + "value": "20" }, + { "begin": 15350, "end": 15353, "name": "DUP11", "source": 1 }, + { "begin": 15346, "end": 15360, "name": "ADD", "source": 1 }, + { "begin": 15339, "end": 15360, "name": "SWAP10", "source": 1 }, + { "begin": 15339, "end": 15360, "name": "POP", "source": 1 }, + { "begin": 15037, "end": 15370, "name": "POP", "source": 1 }, { - "begin": 11861, - "end": 11865, + "begin": 15024, + "end": 15025, "name": "PUSH", "source": 1, - "value": "20" + "value": "1" }, - { "begin": 11856, "end": 11859, "name": "DUP3", "source": 1 }, - { "begin": 11852, "end": 11866, "name": "ADD", "source": 1 }, - { "begin": 11844, "end": 11866, "name": "SWAP1", "source": 1 }, - { "begin": 11844, "end": 11866, "name": "POP", "source": 1 }, - { "begin": 11834, "end": 11872, "name": "SWAP2", "source": 1 }, - { "begin": 11834, "end": 11872, "name": "SWAP1", "source": 1 }, - { "begin": 11834, "end": 11872, "name": "POP", "source": 1 }, + { "begin": 15021, "end": 15022, "name": "DUP2", "source": 1 }, + { "begin": 15017, "end": 15026, "name": "ADD", "source": 1 }, + { "begin": 15012, "end": 15026, "name": "SWAP1", "source": 1 }, + { "begin": 15012, "end": 15026, "name": "POP", "source": 1 }, { - "begin": 11834, - "end": 11872, + "begin": 14977, + "end": 15370, + "name": "PUSH [tag]", + "source": 1, + "value": "269" + }, + { "begin": 14977, "end": 15370, "name": "JUMP", "source": 1 }, + { + "begin": 14977, + "end": 15370, + "name": "tag", + "source": 1, + "value": "271" + }, + { "begin": 14977, "end": 15370, "name": "JUMPDEST", "source": 1 }, + { "begin": 14981, "end": 14995, "name": "POP", "source": 1 }, + { "begin": 15386, "end": 15390, "name": "DUP3", "source": 1 }, + { "begin": 15379, "end": 15390, "name": "SWAP8", "source": 1 }, + { "begin": 15379, "end": 15390, "name": "POP", "source": 1 }, + { "begin": 15406, "end": 15409, "name": "DUP8", "source": 1 }, + { "begin": 15399, "end": 15409, "name": "SWAP6", "source": 1 }, + { "begin": 15399, "end": 15409, "name": "POP", "source": 1 }, + { "begin": 14584, "end": 15415, "name": "POP", "source": 1 }, + { "begin": 14584, "end": 15415, "name": "POP", "source": 1 }, + { "begin": 14584, "end": 15415, "name": "POP", "source": 1 }, + { "begin": 14584, "end": 15415, "name": "POP", "source": 1 }, + { "begin": 14584, "end": 15415, "name": "POP", "source": 1 }, + { "begin": 14452, "end": 15415, "name": "SWAP3", "source": 1 }, + { "begin": 14452, "end": 15415, "name": "SWAP2", "source": 1 }, + { "begin": 14452, "end": 15415, "name": "POP", "source": 1 }, + { "begin": 14452, "end": 15415, "name": "POP", "source": 1 }, + { + "begin": 14452, + "end": 15415, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 11878, - "end": 12061, + "begin": 15489, + "end": 16152, "name": "tag", "source": 1, - "value": "129" + "value": "101" }, - { "begin": 11878, "end": 12061, "name": "JUMPDEST", "source": 1 }, + { "begin": 15489, "end": 16152, "name": "JUMPDEST", "source": 1 }, { - "begin": 11976, - "end": 11987, + "begin": 15614, + "end": 15617, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 12010, "end": 12016, "name": "DUP3", "source": 1 }, - { "begin": 12005, "end": 12008, "name": "DUP3", "source": 1 }, - { "begin": 11998, "end": 12017, "name": "MSTORE", "source": 1 }, { - "begin": 12050, - "end": 12054, + "begin": 15650, + "end": 15654, "name": "PUSH", "source": 1, - "value": "20" + "value": "40" }, - { "begin": 12045, "end": 12048, "name": "DUP3", "source": 1 }, - { "begin": 12041, "end": 12055, "name": "ADD", "source": 1 }, - { "begin": 12026, "end": 12055, "name": "SWAP1", "source": 1 }, - { "begin": 12026, "end": 12055, "name": "POP", "source": 1 }, - { "begin": 11988, "end": 12061, "name": "SWAP3", "source": 1 }, - { "begin": 11988, "end": 12061, "name": "SWAP2", "source": 1 }, - { "begin": 11988, "end": 12061, "name": "POP", "source": 1 }, - { "begin": 11988, "end": 12061, "name": "POP", "source": 1 }, + { "begin": 15645, "end": 15648, "name": "DUP4", "source": 1 }, + { "begin": 15641, "end": 15655, "name": "ADD", "source": 1 }, { - "begin": 11988, - "end": 12061, - "name": "JUMP", + "begin": 15740, + "end": 15744, + "name": "PUSH", "source": 1, - "value": "[out]" + "value": "0" }, + { "begin": 15733, "end": 15738, "name": "DUP4", "source": 1 }, + { "begin": 15729, "end": 15745, "name": "ADD", "source": 1 }, + { "begin": 15723, "end": 15746, "name": "MLOAD", "source": 1 }, { - "begin": 12067, - "end": 12225, - "name": "tag", + "begin": 15759, + "end": 15818, + "name": "PUSH [tag]", "source": 1, - "value": "142" + "value": "275" }, - { "begin": 12067, "end": 12225, "name": "JUMPDEST", "source": 1 }, { - "begin": 12140, - "end": 12151, + "begin": 15812, + "end": 15816, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 12174, "end": 12180, "name": "DUP3", "source": 1 }, - { "begin": 12169, "end": 12172, "name": "DUP3", "source": 1 }, - { "begin": 12162, "end": 12181, "name": "MSTORE", "source": 1 }, + { "begin": 15807, "end": 15810, "name": "DUP7", "source": 1 }, + { "begin": 15803, "end": 15817, "name": "ADD", "source": 1 }, + { "begin": 15789, "end": 15801, "name": "DUP3", "source": 1 }, { - "begin": 12214, - "end": 12218, - "name": "PUSH", + "begin": 15759, + "end": 15818, + "name": "PUSH [tag]", "source": 1, - "value": "20" + "value": "90" }, - { "begin": 12209, "end": 12212, "name": "DUP3", "source": 1 }, - { "begin": 12205, "end": 12219, "name": "ADD", "source": 1 }, - { "begin": 12190, "end": 12219, "name": "SWAP1", "source": 1 }, - { "begin": 12190, "end": 12219, "name": "POP", "source": 1 }, - { "begin": 12152, "end": 12225, "name": "SWAP3", "source": 1 }, - { "begin": 12152, "end": 12225, "name": "SWAP2", "source": 1 }, - { "begin": 12152, "end": 12225, "name": "POP", "source": 1 }, - { "begin": 12152, "end": 12225, "name": "POP", "source": 1 }, { - "begin": 12152, - "end": 12225, + "begin": 15759, + "end": 15818, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 12231, - "end": 12327, + "begin": 15759, + "end": 15818, "name": "tag", "source": 1, - "value": "123" + "value": "275" }, - { "begin": 12231, "end": 12327, "name": "JUMPDEST", "source": 1 }, + { "begin": 15759, "end": 15818, "name": "JUMPDEST", "source": 1 }, + { "begin": 15665, "end": 15828, "name": "POP", "source": 1 }, { - "begin": 12268, - "end": 12275, + "begin": 15914, + "end": 15918, "name": "PUSH", "source": 1, - "value": "0" + "value": "20" + }, + { "begin": 15907, "end": 15912, "name": "DUP4", "source": 1 }, + { "begin": 15903, "end": 15919, "name": "ADD", "source": 1 }, + { "begin": 15897, "end": 15920, "name": "MLOAD", "source": 1 }, + { "begin": 15967, "end": 15970, "name": "DUP5", "source": 1 }, + { "begin": 15961, "end": 15965, "name": "DUP3", "source": 1 }, + { "begin": 15957, "end": 15971, "name": "SUB", "source": 1 }, + { + "begin": 15950, + "end": 15954, + "name": "PUSH", + "source": 1, + "value": "20" }, + { "begin": 15945, "end": 15948, "name": "DUP7", "source": 1 }, + { "begin": 15941, "end": 15955, "name": "ADD", "source": 1 }, + { "begin": 15934, "end": 15972, "name": "MSTORE", "source": 1 }, { - "begin": 12297, - "end": 12321, + "begin": 15993, + "end": 16114, "name": "PUSH [tag]", "source": 1, - "value": "200" + "value": "276" }, - { "begin": 12315, "end": 12320, "name": "DUP3", "source": 1 }, + { "begin": 16109, "end": 16113, "name": "DUP3", "source": 1 }, + { "begin": 16095, "end": 16107, "name": "DUP3", "source": 1 }, { - "begin": 12297, - "end": 12321, + "begin": 15993, + "end": 16114, "name": "PUSH [tag]", "source": 1, - "value": "201" + "value": "100" }, { - "begin": 12297, - "end": 12321, + "begin": 15993, + "end": 16114, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 12297, - "end": 12321, + "begin": 15993, + "end": 16114, "name": "tag", "source": 1, - "value": "200" - }, - { "begin": 12297, "end": 12321, "name": "JUMPDEST", "source": 1 }, - { "begin": 12286, "end": 12321, "name": "SWAP1", "source": 1 }, - { "begin": 12286, "end": 12321, "name": "POP", "source": 1 }, - { "begin": 12276, "end": 12327, "name": "SWAP2", "source": 1 }, - { "begin": 12276, "end": 12327, "name": "SWAP1", "source": 1 }, - { "begin": 12276, "end": 12327, "name": "POP", "source": 1 }, - { - "begin": 12276, - "end": 12327, + "value": "276" + }, + { "begin": 15993, "end": 16114, "name": "JUMPDEST", "source": 1 }, + { "begin": 15985, "end": 16114, "name": "SWAP2", "source": 1 }, + { "begin": 15985, "end": 16114, "name": "POP", "source": 1 }, + { "begin": 15838, "end": 16125, "name": "POP", "source": 1 }, + { "begin": 16142, "end": 16146, "name": "DUP1", "source": 1 }, + { "begin": 16135, "end": 16146, "name": "SWAP2", "source": 1 }, + { "begin": 16135, "end": 16146, "name": "POP", "source": 1 }, + { "begin": 15619, "end": 16152, "name": "POP", "source": 1 }, + { "begin": 15489, "end": 16152, "name": "SWAP3", "source": 1 }, + { "begin": 15489, "end": 16152, "name": "SWAP2", "source": 1 }, + { "begin": 15489, "end": 16152, "name": "POP", "source": 1 }, + { "begin": 15489, "end": 16152, "name": "POP", "source": 1 }, + { + "begin": 15489, + "end": 16152, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 12333, - "end": 12459, + "begin": 16158, + "end": 16276, "name": "tag", "source": 1, - "value": "201" + "value": "102" }, - { "begin": 12333, "end": 12459, "name": "JUMPDEST", "source": 1 }, + { "begin": 16158, "end": 16276, "name": "JUMPDEST", "source": 1 }, { - "begin": 12370, - "end": 12377, - "name": "PUSH", + "begin": 16245, + "end": 16269, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "278" }, + { "begin": 16263, "end": 16268, "name": "DUP2", "source": 1 }, { - "begin": 12410, - "end": 12452, - "name": "PUSH", + "begin": 16245, + "end": 16269, + "name": "PUSH [tag]", "source": 1, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "value": "75" }, - { "begin": 12403, "end": 12408, "name": "DUP3", "source": 1 }, - { "begin": 12399, "end": 12453, "name": "AND", "source": 1 }, - { "begin": 12388, "end": 12453, "name": "SWAP1", "source": 1 }, - { "begin": 12388, "end": 12453, "name": "POP", "source": 1 }, - { "begin": 12378, "end": 12459, "name": "SWAP2", "source": 1 }, - { "begin": 12378, "end": 12459, "name": "SWAP1", "source": 1 }, - { "begin": 12378, "end": 12459, "name": "POP", "source": 1 }, { - "begin": 12378, - "end": 12459, + "begin": 16245, + "end": 16269, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 12465, - "end": 12542, + "begin": 16245, + "end": 16269, "name": "tag", "source": 1, - "value": "159" - }, - { "begin": 12465, "end": 12542, "name": "JUMPDEST", "source": 1 }, - { - "begin": 12502, - "end": 12509, - "name": "PUSH", - "source": 1, - "value": "0" + "value": "278" }, - { "begin": 12531, "end": 12536, "name": "DUP2", "source": 1 }, - { "begin": 12520, "end": 12536, "name": "SWAP1", "source": 1 }, - { "begin": 12520, "end": 12536, "name": "POP", "source": 1 }, - { "begin": 12510, "end": 12542, "name": "SWAP2", "source": 1 }, - { "begin": 12510, "end": 12542, "name": "SWAP1", "source": 1 }, - { "begin": 12510, "end": 12542, "name": "POP", "source": 1 }, + { "begin": 16245, "end": 16269, "name": "JUMPDEST", "source": 1 }, + { "begin": 16240, "end": 16243, "name": "DUP3", "source": 1 }, + { "begin": 16233, "end": 16270, "name": "MSTORE", "source": 1 }, + { "begin": 16158, "end": 16276, "name": "POP", "source": 1 }, + { "begin": 16158, "end": 16276, "name": "POP", "source": 1 }, { - "begin": 12510, - "end": 12542, + "begin": 16158, + "end": 16276, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 12548, - "end": 12649, + "begin": 16282, + "end": 16397, "name": "tag", "source": 1, - "value": "163" + "value": "103" }, - { "begin": 12548, "end": 12649, "name": "JUMPDEST", "source": 1 }, + { "begin": 16282, "end": 16397, "name": "JUMPDEST", "source": 1 }, { - "begin": 12584, - "end": 12591, - "name": "PUSH", + "begin": 16367, + "end": 16390, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "280" }, + { "begin": 16384, "end": 16389, "name": "DUP2", "source": 1 }, { - "begin": 12624, - "end": 12642, - "name": "PUSH", + "begin": 16367, + "end": 16390, + "name": "PUSH [tag]", "source": 1, - "value": "FFFFFFFFFFFFFFFF" + "value": "78" }, - { "begin": 12617, "end": 12622, "name": "DUP3", "source": 1 }, - { "begin": 12613, "end": 12643, "name": "AND", "source": 1 }, - { "begin": 12602, "end": 12643, "name": "SWAP1", "source": 1 }, - { "begin": 12602, "end": 12643, "name": "POP", "source": 1 }, - { "begin": 12592, "end": 12649, "name": "SWAP2", "source": 1 }, - { "begin": 12592, "end": 12649, "name": "SWAP1", "source": 1 }, - { "begin": 12592, "end": 12649, "name": "POP", "source": 1 }, { - "begin": 12592, - "end": 12649, + "begin": 16367, + "end": 16390, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 12655, - "end": 12741, + "begin": 16367, + "end": 16390, "name": "tag", "source": 1, - "value": "166" - }, - { "begin": 12655, "end": 12741, "name": "JUMPDEST", "source": 1 }, - { - "begin": 12690, - "end": 12697, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 12730, - "end": 12734, - "name": "PUSH", - "source": 1, - "value": "FF" + "value": "280" }, - { "begin": 12723, "end": 12728, "name": "DUP3", "source": 1 }, - { "begin": 12719, "end": 12735, "name": "AND", "source": 1 }, - { "begin": 12708, "end": 12735, "name": "SWAP1", "source": 1 }, - { "begin": 12708, "end": 12735, "name": "POP", "source": 1 }, - { "begin": 12698, "end": 12741, "name": "SWAP2", "source": 1 }, - { "begin": 12698, "end": 12741, "name": "SWAP1", "source": 1 }, - { "begin": 12698, "end": 12741, "name": "POP", "source": 1 }, + { "begin": 16367, "end": 16390, "name": "JUMPDEST", "source": 1 }, + { "begin": 16362, "end": 16365, "name": "DUP3", "source": 1 }, + { "begin": 16355, "end": 16391, "name": "MSTORE", "source": 1 }, + { "begin": 16282, "end": 16397, "name": "POP", "source": 1 }, + { "begin": 16282, "end": 16397, "name": "POP", "source": 1 }, { - "begin": 12698, - "end": 12741, + "begin": 16282, + "end": 16397, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 12747, - "end": 12901, + "begin": 16403, + "end": 17389, "name": "tag", "source": 1, - "value": "150" + "value": "30" }, - { "begin": 12747, "end": 12901, "name": "JUMPDEST", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "JUMPDEST", "source": 1 }, { - "begin": 12811, - "end": 12820, + "begin": 16718, + "end": 16722, "name": "PUSH", "source": 1, "value": "0" }, { - "begin": 12844, - "end": 12895, - "name": "PUSH [tag]", + "begin": 16756, + "end": 16759, + "name": "PUSH", "source": 1, - "value": "207" + "value": "A0" }, - { "begin": 12889, "end": 12894, "name": "DUP3", "source": 1 }, + { "begin": 16745, "end": 16754, "name": "DUP3", "source": 1 }, + { "begin": 16741, "end": 16760, "name": "ADD", "source": 1 }, + { "begin": 16733, "end": 16760, "name": "SWAP1", "source": 1 }, + { "begin": 16733, "end": 16760, "name": "POP", "source": 1 }, + { "begin": 16806, "end": 16815, "name": "DUP2", "source": 1 }, + { "begin": 16800, "end": 16804, "name": "DUP2", "source": 1 }, + { "begin": 16796, "end": 16816, "name": "SUB", "source": 1 }, { - "begin": 12844, - "end": 12895, - "name": "PUSH [tag]", + "begin": 16792, + "end": 16793, + "name": "PUSH", "source": 1, - "value": "208" + "value": "0" }, + { "begin": 16781, "end": 16790, "name": "DUP4", "source": 1 }, + { "begin": 16777, "end": 16794, "name": "ADD", "source": 1 }, + { "begin": 16770, "end": 16817, "name": "MSTORE", "source": 1 }, { - "begin": 12844, - "end": 12895, - "name": "JUMP", + "begin": 16834, + "end": 16948, + "name": "PUSH [tag]", "source": 1, - "value": "[in]" + "value": "282" }, + { "begin": 16943, "end": 16947, "name": "DUP2", "source": 1 }, + { "begin": 16934, "end": 16940, "name": "DUP9", "source": 1 }, { - "begin": 12844, - "end": 12895, - "name": "tag", + "begin": 16834, + "end": 16948, + "name": "PUSH [tag]", "source": 1, - "value": "207" + "value": "101" }, - { "begin": 12844, "end": 12895, "name": "JUMPDEST", "source": 1 }, - { "begin": 12831, "end": 12895, "name": "SWAP1", "source": 1 }, - { "begin": 12831, "end": 12895, "name": "POP", "source": 1 }, - { "begin": 12821, "end": 12901, "name": "SWAP2", "source": 1 }, - { "begin": 12821, "end": 12901, "name": "SWAP1", "source": 1 }, - { "begin": 12821, "end": 12901, "name": "POP", "source": 1 }, { - "begin": 12821, - "end": 12901, + "begin": 16834, + "end": 16948, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 12907, - "end": 13034, + "begin": 16834, + "end": 16948, "name": "tag", "source": 1, - "value": "208" + "value": "282" }, - { "begin": 12907, "end": 13034, "name": "JUMPDEST", "source": 1 }, + { "begin": 16834, "end": 16948, "name": "JUMPDEST", "source": 1 }, + { "begin": 16826, "end": 16948, "name": "SWAP1", "source": 1 }, + { "begin": 16826, "end": 16948, "name": "POP", "source": 1 }, { - "begin": 12971, - "end": 12980, - "name": "PUSH", + "begin": 16958, + "end": 17030, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "283" }, { - "begin": 13004, - "end": 13028, - "name": "PUSH [tag]", + "begin": 17026, + "end": 17028, + "name": "PUSH", "source": 1, - "value": "210" + "value": "20" }, - { "begin": 13022, "end": 13027, "name": "DUP3", "source": 1 }, + { "begin": 17015, "end": 17024, "name": "DUP4", "source": 1 }, + { "begin": 17011, "end": 17029, "name": "ADD", "source": 1 }, + { "begin": 17002, "end": 17008, "name": "DUP8", "source": 1 }, { - "begin": 13004, - "end": 13028, + "begin": 16958, + "end": 17030, "name": "PUSH [tag]", "source": 1, - "value": "201" + "value": "102" }, { - "begin": 13004, - "end": 13028, + "begin": 16958, + "end": 17030, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 13004, - "end": 13028, + "begin": 16958, + "end": 17030, "name": "tag", "source": 1, - "value": "210" + "value": "283" }, - { "begin": 13004, "end": 13028, "name": "JUMPDEST", "source": 1 }, - { "begin": 12991, "end": 13028, "name": "SWAP1", "source": 1 }, - { "begin": 12991, "end": 13028, "name": "POP", "source": 1 }, - { "begin": 12981, "end": 13034, "name": "SWAP2", "source": 1 }, - { "begin": 12981, "end": 13034, "name": "SWAP1", "source": 1 }, - { "begin": 12981, "end": 13034, "name": "POP", "source": 1 }, + { "begin": 16958, "end": 17030, "name": "JUMPDEST", "source": 1 }, { - "begin": 12981, - "end": 13034, - "name": "JUMP", + "begin": 17040, + "end": 17112, + "name": "PUSH [tag]", "source": 1, - "value": "[out]" + "value": "284" }, { - "begin": 13040, - "end": 13194, - "name": "tag", + "begin": 17108, + "end": 17110, + "name": "PUSH", "source": 1, - "value": "57" - }, - { "begin": 13040, "end": 13194, "name": "JUMPDEST", "source": 1 }, - { "begin": 13124, "end": 13130, "name": "DUP3", "source": 1 }, - { "begin": 13119, "end": 13122, "name": "DUP2", "source": 1 }, - { "begin": 13114, "end": 13117, "name": "DUP4", "source": 1 }, - { - "begin": 13101, - "end": 13131, - "name": "CALLDATACOPY", - "source": 1 + "value": "40" }, + { "begin": 17097, "end": 17106, "name": "DUP4", "source": 1 }, + { "begin": 17093, "end": 17111, "name": "ADD", "source": 1 }, + { "begin": 17084, "end": 17090, "name": "DUP7", "source": 1 }, { - "begin": 13186, - "end": 13187, - "name": "PUSH", + "begin": 17040, + "end": 17112, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "102" }, - { "begin": 13177, "end": 13183, "name": "DUP4", "source": 1 }, - { "begin": 13172, "end": 13175, "name": "DUP4", "source": 1 }, - { "begin": 13168, "end": 13184, "name": "ADD", "source": 1 }, - { "begin": 13161, "end": 13188, "name": "MSTORE", "source": 1 }, - { "begin": 13091, "end": 13194, "name": "POP", "source": 1 }, - { "begin": 13091, "end": 13194, "name": "POP", "source": 1 }, - { "begin": 13091, "end": 13194, "name": "POP", "source": 1 }, { - "begin": 13091, - "end": 13194, + "begin": 17040, + "end": 17112, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 13200, - "end": 13507, + "begin": 17040, + "end": 17112, "name": "tag", "source": 1, - "value": "144" + "value": "284" }, - { "begin": 13200, "end": 13507, "name": "JUMPDEST", "source": 1 }, + { "begin": 17040, "end": 17112, "name": "JUMPDEST", "source": 1 }, + { "begin": 17159, "end": 17168, "name": "DUP2", "source": 1 }, + { "begin": 17153, "end": 17157, "name": "DUP2", "source": 1 }, + { "begin": 17149, "end": 17169, "name": "SUB", "source": 1 }, { - "begin": 13268, - "end": 13269, + "begin": 17144, + "end": 17146, "name": "PUSH", "source": 1, - "value": "0" + "value": "60" }, + { "begin": 17133, "end": 17142, "name": "DUP4", "source": 1 }, + { "begin": 17129, "end": 17147, "name": "ADD", "source": 1 }, + { "begin": 17122, "end": 17170, "name": "MSTORE", "source": 1 }, { - "begin": 13278, - "end": 13391, - "name": "tag", + "begin": 17187, + "end": 17301, + "name": "PUSH [tag]", "source": 1, - "value": "213" + "value": "285" }, - { "begin": 13278, "end": 13391, "name": "JUMPDEST", "source": 1 }, - { "begin": 13292, "end": 13298, "name": "DUP4", "source": 1 }, - { "begin": 13289, "end": 13290, "name": "DUP2", "source": 1 }, - { "begin": 13286, "end": 13299, "name": "LT", "source": 1 }, - { "begin": 13278, "end": 13391, "name": "ISZERO", "source": 1 }, + { "begin": 17296, "end": 17300, "name": "DUP2", "source": 1 }, + { "begin": 17287, "end": 17293, "name": "DUP6", "source": 1 }, { - "begin": 13278, - "end": 13391, + "begin": 17187, + "end": 17301, "name": "PUSH [tag]", "source": 1, - "value": "215" + "value": "101" }, - { "begin": 13278, "end": 13391, "name": "JUMPI", "source": 1 }, - { "begin": 13377, "end": 13378, "name": "DUP1", "source": 1 }, - { "begin": 13372, "end": 13375, "name": "DUP3", "source": 1 }, - { "begin": 13368, "end": 13379, "name": "ADD", "source": 1 }, - { "begin": 13362, "end": 13380, "name": "MLOAD", "source": 1 }, - { "begin": 13358, "end": 13359, "name": "DUP2", "source": 1 }, - { "begin": 13353, "end": 13356, "name": "DUP5", "source": 1 }, - { "begin": 13349, "end": 13360, "name": "ADD", "source": 1 }, - { "begin": 13342, "end": 13381, "name": "MSTORE", "source": 1 }, { - "begin": 13314, - "end": 13316, - "name": "PUSH", + "begin": 17187, + "end": 17301, + "name": "JUMP", "source": 1, - "value": "20" + "value": "[in]" + }, + { + "begin": 17187, + "end": 17301, + "name": "tag", + "source": 1, + "value": "285" }, - { "begin": 13311, "end": 13312, "name": "DUP2", "source": 1 }, - { "begin": 13307, "end": 13317, "name": "ADD", "source": 1 }, - { "begin": 13302, "end": 13317, "name": "SWAP1", "source": 1 }, - { "begin": 13302, "end": 13317, "name": "POP", "source": 1 }, + { "begin": 17187, "end": 17301, "name": "JUMPDEST", "source": 1 }, + { "begin": 17179, "end": 17301, "name": "SWAP1", "source": 1 }, + { "begin": 17179, "end": 17301, "name": "POP", "source": 1 }, { - "begin": 13278, - "end": 13391, + "begin": 17311, + "end": 17382, "name": "PUSH [tag]", "source": 1, - "value": "213" + "value": "286" }, - { "begin": 13278, "end": 13391, "name": "JUMP", "source": 1 }, { - "begin": 13278, - "end": 13391, - "name": "tag", + "begin": 17377, + "end": 17380, + "name": "PUSH", "source": 1, - "value": "215" + "value": "80" }, - { "begin": 13278, "end": 13391, "name": "JUMPDEST", "source": 1 }, - { "begin": 13409, "end": 13415, "name": "DUP4", "source": 1 }, - { "begin": 13406, "end": 13407, "name": "DUP2", "source": 1 }, - { "begin": 13403, "end": 13416, "name": "GT", "source": 1 }, - { "begin": 13400, "end": 13402, "name": "ISZERO", "source": 1 }, + { "begin": 17366, "end": 17375, "name": "DUP4", "source": 1 }, + { "begin": 17362, "end": 17381, "name": "ADD", "source": 1 }, + { "begin": 17353, "end": 17359, "name": "DUP5", "source": 1 }, { - "begin": 13400, - "end": 13402, + "begin": 17311, + "end": 17382, "name": "PUSH [tag]", "source": 1, - "value": "216" + "value": "103" }, - { "begin": 13400, "end": 13402, "name": "JUMPI", "source": 1 }, { - "begin": 13489, - "end": 13490, - "name": "PUSH", + "begin": 17311, + "end": 17382, + "name": "JUMP", "source": 1, - "value": "0" + "value": "[in]" }, - { "begin": 13480, "end": 13486, "name": "DUP5", "source": 1 }, - { "begin": 13475, "end": 13478, "name": "DUP5", "source": 1 }, - { "begin": 13471, "end": 13487, "name": "ADD", "source": 1 }, - { "begin": 13464, "end": 13491, "name": "MSTORE", "source": 1 }, { - "begin": 13400, - "end": 13402, + "begin": 17311, + "end": 17382, "name": "tag", "source": 1, - "value": "216" + "value": "286" }, - { "begin": 13400, "end": 13402, "name": "JUMPDEST", "source": 1 }, - { "begin": 13249, "end": 13507, "name": "POP", "source": 1 }, - { "begin": 13249, "end": 13507, "name": "POP", "source": 1 }, - { "begin": 13249, "end": 13507, "name": "POP", "source": 1 }, - { "begin": 13249, "end": 13507, "name": "POP", "source": 1 }, + { "begin": 17311, "end": 17382, "name": "JUMPDEST", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "SWAP7", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "SWAP6", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "POP", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "POP", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "POP", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "POP", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "POP", "source": 1 }, + { "begin": 16403, "end": 17389, "name": "POP", "source": 1 }, { - "begin": 13249, - "end": 13507, + "begin": 16403, + "end": 17389, "name": "JUMP", "source": 1, "value": "[out]" }, { - "begin": 13513, - "end": 13794, + "begin": 17395, + "end": 17513, "name": "tag", "source": 1, - "value": "183" + "value": "104" }, - { "begin": 13513, "end": 13794, "name": "JUMPDEST", "source": 1 }, + { "begin": 17395, "end": 17513, "name": "JUMPDEST", "source": 1 }, { - "begin": 13596, - "end": 13623, + "begin": 17482, + "end": 17506, "name": "PUSH [tag]", "source": 1, - "value": "218" + "value": "288" }, - { "begin": 13618, "end": 13622, "name": "DUP3", "source": 1 }, + { "begin": 17500, "end": 17505, "name": "DUP2", "source": 1 }, { - "begin": 13596, - "end": 13623, + "begin": 17482, + "end": 17506, "name": "PUSH [tag]", "source": 1, - "value": "146" + "value": "82" }, { - "begin": 13596, - "end": 13623, + "begin": 17482, + "end": 17506, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 13596, - "end": 13623, + "begin": 17482, + "end": 17506, "name": "tag", "source": 1, - "value": "218" + "value": "288" + }, + { "begin": 17482, "end": 17506, "name": "JUMPDEST", "source": 1 }, + { "begin": 17477, "end": 17480, "name": "DUP3", "source": 1 }, + { "begin": 17470, "end": 17507, "name": "MSTORE", "source": 1 }, + { "begin": 17395, "end": 17513, "name": "POP", "source": 1 }, + { "begin": 17395, "end": 17513, "name": "POP", "source": 1 }, + { + "begin": 17395, + "end": 17513, + "name": "JUMP", + "source": 1, + "value": "[out]" + }, + { + "begin": 17519, + "end": 18342, + "name": "tag", + "source": 1, + "value": "36" }, - { "begin": 13596, "end": 13623, "name": "JUMPDEST", "source": 1 }, - { "begin": 13588, "end": 13594, "name": "DUP2", "source": 1 }, - { "begin": 13584, "end": 13624, "name": "ADD", "source": 1 }, - { "begin": 13726, "end": 13732, "name": "DUP2", "source": 1 }, - { "begin": 13714, "end": 13724, "name": "DUP2", "source": 1 }, - { "begin": 13711, "end": 13733, "name": "LT", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "JUMPDEST", "source": 1 }, { - "begin": 13690, - "end": 13708, + "begin": 17778, + "end": 17782, "name": "PUSH", "source": 1, - "value": "FFFFFFFFFFFFFFFF" + "value": "0" }, - { "begin": 13678, "end": 13688, "name": "DUP3", "source": 1 }, - { "begin": 13675, "end": 13709, "name": "GT", "source": 1 }, - { "begin": 13672, "end": 13734, "name": "OR", "source": 1 }, - { "begin": 13669, "end": 13671, "name": "ISZERO", "source": 1 }, { - "begin": 13669, - "end": 13671, - "name": "PUSH [tag]", + "begin": 17816, + "end": 17819, + "name": "PUSH", "source": 1, - "value": "219" + "value": "A0" }, - { "begin": 13669, "end": 13671, "name": "JUMPI", "source": 1 }, + { "begin": 17805, "end": 17814, "name": "DUP3", "source": 1 }, + { "begin": 17801, "end": 17820, "name": "ADD", "source": 1 }, + { "begin": 17793, "end": 17820, "name": "SWAP1", "source": 1 }, + { "begin": 17793, "end": 17820, "name": "POP", "source": 1 }, { - "begin": 13737, - "end": 13755, + "begin": 17830, + "end": 17901, "name": "PUSH [tag]", "source": 1, - "value": "220" + "value": "290" + }, + { + "begin": 17898, + "end": 17899, + "name": "PUSH", + "source": 1, + "value": "0" }, + { "begin": 17887, "end": 17896, "name": "DUP4", "source": 1 }, + { "begin": 17883, "end": 17900, "name": "ADD", "source": 1 }, + { "begin": 17874, "end": 17880, "name": "DUP9", "source": 1 }, { - "begin": 13737, - "end": 13755, + "begin": 17830, + "end": 17901, "name": "PUSH [tag]", "source": 1, - "value": "188" + "value": "104" }, { - "begin": 13737, - "end": 13755, + "begin": 17830, + "end": 17901, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 13737, - "end": 13755, + "begin": 17830, + "end": 17901, "name": "tag", "source": 1, - "value": "220" + "value": "290" }, - { "begin": 13737, "end": 13755, "name": "JUMPDEST", "source": 1 }, + { "begin": 17830, "end": 17901, "name": "JUMPDEST", "source": 1 }, { - "begin": 13669, - "end": 13671, - "name": "tag", + "begin": 17911, + "end": 17983, + "name": "PUSH [tag]", "source": 1, - "value": "219" + "value": "291" }, - { "begin": 13669, "end": 13671, "name": "JUMPDEST", "source": 1 }, - { "begin": 13777, "end": 13787, "name": "DUP1", "source": 1 }, { - "begin": 13773, - "end": 13775, + "begin": 17979, + "end": 17981, "name": "PUSH", "source": 1, - "value": "40" - }, - { "begin": 13766, "end": 13788, "name": "MSTORE", "source": 1 }, - { "begin": 13556, "end": 13794, "name": "POP", "source": 1 }, - { "begin": 13556, "end": 13794, "name": "POP", "source": 1 }, - { "begin": 13556, "end": 13794, "name": "POP", "source": 1 }, - { - "begin": 13556, - "end": 13794, - "name": "JUMP", - "source": 1, - "value": "[out]" + "value": "20" }, + { "begin": 17968, "end": 17977, "name": "DUP4", "source": 1 }, + { "begin": 17964, "end": 17982, "name": "ADD", "source": 1 }, + { "begin": 17955, "end": 17961, "name": "DUP8", "source": 1 }, { - "begin": 13800, - "end": 13980, - "name": "tag", + "begin": 17911, + "end": 17983, + "name": "PUSH [tag]", "source": 1, - "value": "188" + "value": "102" }, - { "begin": 13800, "end": 13980, "name": "JUMPDEST", "source": 1 }, { - "begin": 13848, - "end": 13925, - "name": "PUSH", + "begin": 17911, + "end": 17983, + "name": "JUMP", "source": 1, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + "value": "[in]" }, { - "begin": 13845, - "end": 13846, - "name": "PUSH", + "begin": 17911, + "end": 17983, + "name": "tag", "source": 1, - "value": "0" + "value": "291" }, - { "begin": 13838, "end": 13926, "name": "MSTORE", "source": 1 }, + { "begin": 17911, "end": 17983, "name": "JUMPDEST", "source": 1 }, { - "begin": 13945, - "end": 13949, - "name": "PUSH", + "begin": 17993, + "end": 18065, + "name": "PUSH [tag]", "source": 1, - "value": "41" + "value": "292" }, { - "begin": 13942, - "end": 13943, + "begin": 18061, + "end": 18063, "name": "PUSH", "source": 1, - "value": "4" + "value": "40" }, - { "begin": 13935, "end": 13950, "name": "MSTORE", "source": 1 }, + { "begin": 18050, "end": 18059, "name": "DUP4", "source": 1 }, + { "begin": 18046, "end": 18064, "name": "ADD", "source": 1 }, + { "begin": 18037, "end": 18043, "name": "DUP7", "source": 1 }, { - "begin": 13969, - "end": 13973, - "name": "PUSH", + "begin": 17993, + "end": 18065, + "name": "PUSH [tag]", "source": 1, - "value": "24" + "value": "102" }, { - "begin": 13966, - "end": 13967, - "name": "PUSH", + "begin": 17993, + "end": 18065, + "name": "JUMP", "source": 1, - "value": "0" + "value": "[in]" }, - { "begin": 13959, "end": 13974, "name": "REVERT", "source": 1 }, { - "begin": 13986, - "end": 14103, + "begin": 17993, + "end": 18065, "name": "tag", "source": 1, - "value": "45" + "value": "292" }, - { "begin": 13986, "end": 14103, "name": "JUMPDEST", "source": 1 }, + { "begin": 17993, "end": 18065, "name": "JUMPDEST", "source": 1 }, + { "begin": 18112, "end": 18121, "name": "DUP2", "source": 1 }, + { "begin": 18106, "end": 18110, "name": "DUP2", "source": 1 }, + { "begin": 18102, "end": 18122, "name": "SUB", "source": 1 }, { - "begin": 14095, - "end": 14096, + "begin": 18097, + "end": 18099, "name": "PUSH", "source": 1, - "value": "0" + "value": "60" }, - { "begin": 14092, "end": 14093, "name": "DUP1", "source": 1 }, - { "begin": 14085, "end": 14097, "name": "REVERT", "source": 1 }, + { "begin": 18086, "end": 18095, "name": "DUP4", "source": 1 }, + { "begin": 18082, "end": 18100, "name": "ADD", "source": 1 }, + { "begin": 18075, "end": 18123, "name": "MSTORE", "source": 1 }, { - "begin": 14109, - "end": 14226, - "name": "tag", + "begin": 18140, + "end": 18254, + "name": "PUSH [tag]", "source": 1, - "value": "75" + "value": "293" }, - { "begin": 14109, "end": 14226, "name": "JUMPDEST", "source": 1 }, + { "begin": 18249, "end": 18253, "name": "DUP2", "source": 1 }, + { "begin": 18240, "end": 18246, "name": "DUP6", "source": 1 }, { - "begin": 14218, - "end": 14219, - "name": "PUSH", + "begin": 18140, + "end": 18254, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "101" }, - { "begin": 14215, "end": 14216, "name": "DUP1", "source": 1 }, - { "begin": 14208, "end": 14220, "name": "REVERT", "source": 1 }, { - "begin": 14232, - "end": 14349, - "name": "tag", + "begin": 18140, + "end": 18254, + "name": "JUMP", "source": 1, - "value": "81" + "value": "[in]" }, - { "begin": 14232, "end": 14349, "name": "JUMPDEST", "source": 1 }, { - "begin": 14341, - "end": 14342, - "name": "PUSH", + "begin": 18140, + "end": 18254, + "name": "tag", "source": 1, - "value": "0" + "value": "293" }, - { "begin": 14338, "end": 14339, "name": "DUP1", "source": 1 }, - { "begin": 14331, "end": 14343, "name": "REVERT", "source": 1 }, + { "begin": 18140, "end": 18254, "name": "JUMPDEST", "source": 1 }, + { "begin": 18132, "end": 18254, "name": "SWAP1", "source": 1 }, + { "begin": 18132, "end": 18254, "name": "POP", "source": 1 }, { - "begin": 14355, - "end": 14472, - "name": "tag", + "begin": 18264, + "end": 18335, + "name": "PUSH [tag]", "source": 1, - "value": "39" + "value": "294" }, - { "begin": 14355, "end": 14472, "name": "JUMPDEST", "source": 1 }, { - "begin": 14464, - "end": 14465, + "begin": 18330, + "end": 18333, "name": "PUSH", "source": 1, - "value": "0" + "value": "80" }, - { "begin": 14461, "end": 14462, "name": "DUP1", "source": 1 }, - { "begin": 14454, "end": 14466, "name": "REVERT", "source": 1 }, + { "begin": 18319, "end": 18328, "name": "DUP4", "source": 1 }, + { "begin": 18315, "end": 18334, "name": "ADD", "source": 1 }, + { "begin": 18306, "end": 18312, "name": "DUP5", "source": 1 }, { - "begin": 14478, - "end": 14595, - "name": "tag", + "begin": 18264, + "end": 18335, + "name": "PUSH [tag]", "source": 1, - "value": "55" + "value": "103" }, - { "begin": 14478, "end": 14595, "name": "JUMPDEST", "source": 1 }, { - "begin": 14587, - "end": 14588, - "name": "PUSH", + "begin": 18264, + "end": 18335, + "name": "JUMP", "source": 1, - "value": "0" + "value": "[in]" }, - { "begin": 14584, "end": 14585, "name": "DUP1", "source": 1 }, - { "begin": 14577, "end": 14589, "name": "REVERT", "source": 1 }, { - "begin": 14601, - "end": 14718, + "begin": 18264, + "end": 18335, "name": "tag", "source": 1, - "value": "102" + "value": "294" }, - { "begin": 14601, "end": 14718, "name": "JUMPDEST", "source": 1 }, + { "begin": 18264, "end": 18335, "name": "JUMPDEST", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "SWAP7", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "SWAP6", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "POP", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "POP", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "POP", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "POP", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "POP", "source": 1 }, + { "begin": 17519, "end": 18342, "name": "POP", "source": 1 }, { - "begin": 14710, - "end": 14711, - "name": "PUSH", + "begin": 17519, + "end": 18342, + "name": "JUMP", "source": 1, - "value": "0" + "value": "[out]" }, - { "begin": 14707, "end": 14708, "name": "DUP1", "source": 1 }, - { "begin": 14700, "end": 14712, "name": "REVERT", "source": 1 }, { - "begin": 14724, - "end": 14841, + "begin": 18348, + "end": 19223, "name": "tag", "source": 1, - "value": "97" + "value": "42" }, - { "begin": 14724, "end": 14841, "name": "JUMPDEST", "source": 1 }, + { "begin": 18348, "end": 19223, "name": "JUMPDEST", "source": 1 }, { - "begin": 14833, - "end": 14834, + "begin": 18635, + "end": 18639, "name": "PUSH", "source": 1, "value": "0" }, - { "begin": 14830, "end": 14831, "name": "DUP1", "source": 1 }, - { "begin": 14823, "end": 14835, "name": "REVERT", "source": 1 }, { - "begin": 14847, - "end": 14949, - "name": "tag", + "begin": 18673, + "end": 18676, + "name": "PUSH", "source": 1, - "value": "146" + "value": "80" }, - { "begin": 14847, "end": 14949, "name": "JUMPDEST", "source": 1 }, + { "begin": 18662, "end": 18671, "name": "DUP3", "source": 1 }, + { "begin": 18658, "end": 18677, "name": "ADD", "source": 1 }, + { "begin": 18650, "end": 18677, "name": "SWAP1", "source": 1 }, + { "begin": 18650, "end": 18677, "name": "POP", "source": 1 }, + { "begin": 18723, "end": 18732, "name": "DUP2", "source": 1 }, + { "begin": 18717, "end": 18721, "name": "DUP2", "source": 1 }, + { "begin": 18713, "end": 18733, "name": "SUB", "source": 1 }, { - "begin": 14888, - "end": 14894, + "begin": 18709, + "end": 18710, "name": "PUSH", "source": 1, "value": "0" }, + { "begin": 18698, "end": 18707, "name": "DUP4", "source": 1 }, + { "begin": 18694, "end": 18711, "name": "ADD", "source": 1 }, + { "begin": 18687, "end": 18734, "name": "MSTORE", "source": 1 }, { - "begin": 14939, - "end": 14941, - "name": "PUSH", + "begin": 18751, + "end": 18865, + "name": "PUSH [tag]", "source": 1, - "value": "1F" + "value": "296" }, - { "begin": 14935, "end": 14942, "name": "NOT", "source": 1 }, + { "begin": 18860, "end": 18864, "name": "DUP2", "source": 1 }, + { "begin": 18851, "end": 18857, "name": "DUP8", "source": 1 }, { - "begin": 14930, - "end": 14932, - "name": "PUSH", + "begin": 18751, + "end": 18865, + "name": "PUSH [tag]", "source": 1, - "value": "1F" + "value": "101" }, - { "begin": 14923, "end": 14928, "name": "DUP4", "source": 1 }, - { "begin": 14919, "end": 14933, "name": "ADD", "source": 1 }, - { "begin": 14915, "end": 14943, "name": "AND", "source": 1 }, - { "begin": 14905, "end": 14943, "name": "SWAP1", "source": 1 }, - { "begin": 14905, "end": 14943, "name": "POP", "source": 1 }, - { "begin": 14895, "end": 14949, "name": "SWAP2", "source": 1 }, - { "begin": 14895, "end": 14949, "name": "SWAP1", "source": 1 }, - { "begin": 14895, "end": 14949, "name": "POP", "source": 1 }, { - "begin": 14895, - "end": 14949, + "begin": 18751, + "end": 18865, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 14955, - "end": 15077, + "begin": 18751, + "end": 18865, "name": "tag", "source": 1, - "value": "61" + "value": "296" }, - { "begin": 14955, "end": 15077, "name": "JUMPDEST", "source": 1 }, + { "begin": 18751, "end": 18865, "name": "JUMPDEST", "source": 1 }, + { "begin": 18743, "end": 18865, "name": "SWAP1", "source": 1 }, + { "begin": 18743, "end": 18865, "name": "POP", "source": 1 }, { - "begin": 15028, - "end": 15052, + "begin": 18875, + "end": 18947, "name": "PUSH [tag]", "source": 1, - "value": "231" + "value": "297" + }, + { + "begin": 18943, + "end": 18945, + "name": "PUSH", + "source": 1, + "value": "20" }, - { "begin": 15046, "end": 15051, "name": "DUP2", "source": 1 }, + { "begin": 18932, "end": 18941, "name": "DUP4", "source": 1 }, + { "begin": 18928, "end": 18946, "name": "ADD", "source": 1 }, + { "begin": 18919, "end": 18925, "name": "DUP7", "source": 1 }, { - "begin": 15028, - "end": 15052, + "begin": 18875, + "end": 18947, "name": "PUSH [tag]", "source": 1, - "value": "123" + "value": "102" }, { - "begin": 15028, - "end": 15052, + "begin": 18875, + "end": 18947, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 15028, - "end": 15052, + "begin": 18875, + "end": 18947, "name": "tag", "source": 1, - "value": "231" + "value": "297" }, - { "begin": 15028, "end": 15052, "name": "JUMPDEST", "source": 1 }, - { "begin": 15021, "end": 15026, "name": "DUP2", "source": 1 }, - { "begin": 15018, "end": 15053, "name": "EQ", "source": 1 }, + { "begin": 18875, "end": 18947, "name": "JUMPDEST", "source": 1 }, + { "begin": 18994, "end": 19003, "name": "DUP2", "source": 1 }, + { "begin": 18988, "end": 18992, "name": "DUP2", "source": 1 }, + { "begin": 18984, "end": 19004, "name": "SUB", "source": 1 }, { - "begin": 15008, - "end": 15010, - "name": "PUSH [tag]", + "begin": 18979, + "end": 18981, + "name": "PUSH", "source": 1, - "value": "232" + "value": "40" }, - { "begin": 15008, "end": 15010, "name": "JUMPI", "source": 1 }, + { "begin": 18968, "end": 18977, "name": "DUP4", "source": 1 }, + { "begin": 18964, "end": 18982, "name": "ADD", "source": 1 }, + { "begin": 18957, "end": 19005, "name": "MSTORE", "source": 1 }, { - "begin": 15067, - "end": 15068, - "name": "PUSH", + "begin": 19022, + "end": 19136, + "name": "PUSH [tag]", "source": 1, - "value": "0" + "value": "298" }, - { "begin": 15064, "end": 15065, "name": "DUP1", "source": 1 }, - { "begin": 15057, "end": 15069, "name": "REVERT", "source": 1 }, + { "begin": 19131, "end": 19135, "name": "DUP2", "source": 1 }, + { "begin": 19122, "end": 19128, "name": "DUP6", "source": 1 }, { - "begin": 15008, - "end": 15010, - "name": "tag", + "begin": 19022, + "end": 19136, + "name": "PUSH [tag]", "source": 1, - "value": "232" + "value": "101" }, - { "begin": 15008, "end": 15010, "name": "JUMPDEST", "source": 1 }, - { "begin": 14998, "end": 15077, "name": "POP", "source": 1 }, { - "begin": 14998, - "end": 15077, + "begin": 19022, + "end": 19136, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 15083, - "end": 15205, + "begin": 19022, + "end": 19136, "name": "tag", "source": 1, - "value": "86" + "value": "298" }, - { "begin": 15083, "end": 15205, "name": "JUMPDEST", "source": 1 }, + { "begin": 19022, "end": 19136, "name": "JUMPDEST", "source": 1 }, + { "begin": 19014, "end": 19136, "name": "SWAP1", "source": 1 }, + { "begin": 19014, "end": 19136, "name": "POP", "source": 1 }, { - "begin": 15156, - "end": 15180, + "begin": 19146, + "end": 19216, "name": "PUSH [tag]", "source": 1, - "value": "234" + "value": "299" + }, + { + "begin": 19212, + "end": 19214, + "name": "PUSH", + "source": 1, + "value": "60" }, - { "begin": 15174, "end": 15179, "name": "DUP2", "source": 1 }, + { "begin": 19201, "end": 19210, "name": "DUP4", "source": 1 }, + { "begin": 19197, "end": 19215, "name": "ADD", "source": 1 }, + { "begin": 19188, "end": 19194, "name": "DUP5", "source": 1 }, { - "begin": 15156, - "end": 15180, + "begin": 19146, + "end": 19216, "name": "PUSH [tag]", "source": 1, - "value": "159" + "value": "103" }, { - "begin": 15156, - "end": 15180, + "begin": 19146, + "end": 19216, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 15156, - "end": 15180, + "begin": 19146, + "end": 19216, "name": "tag", "source": 1, - "value": "234" + "value": "299" }, - { "begin": 15156, "end": 15180, "name": "JUMPDEST", "source": 1 }, - { "begin": 15149, "end": 15154, "name": "DUP2", "source": 1 }, - { "begin": 15146, "end": 15181, "name": "EQ", "source": 1 }, + { "begin": 19146, "end": 19216, "name": "JUMPDEST", "source": 1 }, + { "begin": 18348, "end": 19223, "name": "SWAP6", "source": 1 }, + { "begin": 18348, "end": 19223, "name": "SWAP5", "source": 1 }, + { "begin": 18348, "end": 19223, "name": "POP", "source": 1 }, + { "begin": 18348, "end": 19223, "name": "POP", "source": 1 }, + { "begin": 18348, "end": 19223, "name": "POP", "source": 1 }, + { "begin": 18348, "end": 19223, "name": "POP", "source": 1 }, + { "begin": 18348, "end": 19223, "name": "POP", "source": 1 }, { - "begin": 15136, - "end": 15138, - "name": "PUSH [tag]", + "begin": 18348, + "end": 19223, + "name": "JUMP", "source": 1, - "value": "235" + "value": "[out]" }, - { "begin": 15136, "end": 15138, "name": "JUMPI", "source": 1 }, { - "begin": 15195, - "end": 15196, - "name": "PUSH", + "begin": 19229, + "end": 19941, + "name": "tag", "source": 1, - "value": "0" + "value": "48" }, - { "begin": 15192, "end": 15193, "name": "DUP1", "source": 1 }, - { "begin": 15185, "end": 15197, "name": "REVERT", "source": 1 }, + { "begin": 19229, "end": 19941, "name": "JUMPDEST", "source": 1 }, { - "begin": 15136, - "end": 15138, - "name": "tag", + "begin": 19460, + "end": 19464, + "name": "PUSH", "source": 1, - "value": "235" + "value": "0" }, - { "begin": 15136, "end": 15138, "name": "JUMPDEST", "source": 1 }, - { "begin": 15126, "end": 15205, "name": "POP", "source": 1 }, { - "begin": 15126, - "end": 15205, - "name": "JUMP", + "begin": 19498, + "end": 19501, + "name": "PUSH", "source": 1, - "value": "[out]" + "value": "80" }, + { "begin": 19487, "end": 19496, "name": "DUP3", "source": 1 }, + { "begin": 19483, "end": 19502, "name": "ADD", "source": 1 }, + { "begin": 19475, "end": 19502, "name": "SWAP1", "source": 1 }, + { "begin": 19475, "end": 19502, "name": "POP", "source": 1 }, { - "begin": 15211, - "end": 15331, - "name": "tag", + "begin": 19512, + "end": 19583, + "name": "PUSH [tag]", "source": 1, - "value": "90" + "value": "301" }, - { "begin": 15211, "end": 15331, "name": "JUMPDEST", "source": 1 }, { - "begin": 15283, - "end": 15306, - "name": "PUSH [tag]", + "begin": 19580, + "end": 19581, + "name": "PUSH", "source": 1, - "value": "237" + "value": "0" }, - { "begin": 15300, "end": 15305, "name": "DUP2", "source": 1 }, + { "begin": 19569, "end": 19578, "name": "DUP4", "source": 1 }, + { "begin": 19565, "end": 19582, "name": "ADD", "source": 1 }, + { "begin": 19556, "end": 19562, "name": "DUP8", "source": 1 }, { - "begin": 15283, - "end": 15306, + "begin": 19512, + "end": 19583, "name": "PUSH [tag]", "source": 1, - "value": "163" + "value": "104" }, { - "begin": 15283, - "end": 15306, + "begin": 19512, + "end": 19583, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 15283, - "end": 15306, + "begin": 19512, + "end": 19583, "name": "tag", "source": 1, - "value": "237" + "value": "301" }, - { "begin": 15283, "end": 15306, "name": "JUMPDEST", "source": 1 }, - { "begin": 15276, "end": 15281, "name": "DUP2", "source": 1 }, - { "begin": 15273, "end": 15307, "name": "EQ", "source": 1 }, + { "begin": 19512, "end": 19583, "name": "JUMPDEST", "source": 1 }, { - "begin": 15263, - "end": 15265, + "begin": 19593, + "end": 19665, "name": "PUSH [tag]", "source": 1, - "value": "238" + "value": "302" }, - { "begin": 15263, "end": 15265, "name": "JUMPI", "source": 1 }, { - "begin": 15321, - "end": 15322, + "begin": 19661, + "end": 19663, "name": "PUSH", "source": 1, - "value": "0" + "value": "20" }, - { "begin": 15318, "end": 15319, "name": "DUP1", "source": 1 }, - { "begin": 15311, "end": 15323, "name": "REVERT", "source": 1 }, + { "begin": 19650, "end": 19659, "name": "DUP4", "source": 1 }, + { "begin": 19646, "end": 19664, "name": "ADD", "source": 1 }, + { "begin": 19637, "end": 19643, "name": "DUP7", "source": 1 }, { - "begin": 15263, - "end": 15265, - "name": "tag", + "begin": 19593, + "end": 19665, + "name": "PUSH [tag]", "source": 1, - "value": "238" + "value": "102" }, - { "begin": 15263, "end": 15265, "name": "JUMPDEST", "source": 1 }, - { "begin": 15253, "end": 15331, "name": "POP", "source": 1 }, { - "begin": 15253, - "end": 15331, + "begin": 19593, + "end": 19665, "name": "JUMP", "source": 1, - "value": "[out]" + "value": "[in]" }, { - "begin": 15337, - "end": 15455, + "begin": 19593, + "end": 19665, "name": "tag", "source": 1, - "value": "93" + "value": "302" + }, + { "begin": 19593, "end": 19665, "name": "JUMPDEST", "source": 1 }, + { "begin": 19712, "end": 19721, "name": "DUP2", "source": 1 }, + { "begin": 19706, "end": 19710, "name": "DUP2", "source": 1 }, + { "begin": 19702, "end": 19722, "name": "SUB", "source": 1 }, + { + "begin": 19697, + "end": 19699, + "name": "PUSH", + "source": 1, + "value": "40" }, - { "begin": 15337, "end": 15455, "name": "JUMPDEST", "source": 1 }, + { "begin": 19686, "end": 19695, "name": "DUP4", "source": 1 }, + { "begin": 19682, "end": 19700, "name": "ADD", "source": 1 }, + { "begin": 19675, "end": 19723, "name": "MSTORE", "source": 1 }, { - "begin": 15408, - "end": 15430, + "begin": 19740, + "end": 19854, "name": "PUSH [tag]", "source": 1, - "value": "240" + "value": "303" }, - { "begin": 15424, "end": 15429, "name": "DUP2", "source": 1 }, + { "begin": 19849, "end": 19853, "name": "DUP2", "source": 1 }, + { "begin": 19840, "end": 19846, "name": "DUP6", "source": 1 }, { - "begin": 15408, - "end": 15430, + "begin": 19740, + "end": 19854, "name": "PUSH [tag]", "source": 1, - "value": "166" + "value": "101" }, { - "begin": 15408, - "end": 15430, + "begin": 19740, + "end": 19854, "name": "JUMP", "source": 1, "value": "[in]" }, { - "begin": 15408, - "end": 15430, + "begin": 19740, + "end": 19854, "name": "tag", "source": 1, - "value": "240" + "value": "303" }, - { "begin": 15408, "end": 15430, "name": "JUMPDEST", "source": 1 }, - { "begin": 15401, "end": 15406, "name": "DUP2", "source": 1 }, - { "begin": 15398, "end": 15431, "name": "EQ", "source": 1 }, + { "begin": 19740, "end": 19854, "name": "JUMPDEST", "source": 1 }, + { "begin": 19732, "end": 19854, "name": "SWAP1", "source": 1 }, + { "begin": 19732, "end": 19854, "name": "POP", "source": 1 }, { - "begin": 15388, - "end": 15390, + "begin": 19864, + "end": 19934, "name": "PUSH [tag]", "source": 1, - "value": "241" + "value": "304" }, - { "begin": 15388, "end": 15390, "name": "JUMPI", "source": 1 }, { - "begin": 15445, - "end": 15446, + "begin": 19930, + "end": 19932, "name": "PUSH", "source": 1, - "value": "0" + "value": "60" + }, + { "begin": 19919, "end": 19928, "name": "DUP4", "source": 1 }, + { "begin": 19915, "end": 19933, "name": "ADD", "source": 1 }, + { "begin": 19906, "end": 19912, "name": "DUP5", "source": 1 }, + { + "begin": 19864, + "end": 19934, + "name": "PUSH [tag]", + "source": 1, + "value": "103" + }, + { + "begin": 19864, + "end": 19934, + "name": "JUMP", + "source": 1, + "value": "[in]" }, - { "begin": 15442, "end": 15443, "name": "DUP1", "source": 1 }, - { "begin": 15435, "end": 15447, "name": "REVERT", "source": 1 }, { - "begin": 15388, - "end": 15390, + "begin": 19864, + "end": 19934, "name": "tag", "source": 1, - "value": "241" + "value": "304" }, - { "begin": 15388, "end": 15390, "name": "JUMPDEST", "source": 1 }, - { "begin": 15378, "end": 15455, "name": "POP", "source": 1 }, + { "begin": 19864, "end": 19934, "name": "JUMPDEST", "source": 1 }, + { "begin": 19229, "end": 19941, "name": "SWAP6", "source": 1 }, + { "begin": 19229, "end": 19941, "name": "SWAP5", "source": 1 }, + { "begin": 19229, "end": 19941, "name": "POP", "source": 1 }, + { "begin": 19229, "end": 19941, "name": "POP", "source": 1 }, + { "begin": 19229, "end": 19941, "name": "POP", "source": 1 }, + { "begin": 19229, "end": 19941, "name": "POP", "source": 1 }, + { "begin": 19229, "end": 19941, "name": "POP", "source": 1 }, { - "begin": 15378, - "end": 15455, + "begin": 19229, + "end": 19941, "name": "JUMP", "source": 1, "value": "[out]" @@ -14392,24 +18732,26 @@ "methodIdentifiers": { "transfer(address,uint256,(uint8,bytes[]),uint64)": "b9f813ff", "transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)": "b38c60fa", + "transfer_multiasset_with_fee((uint8,bytes[]),uint256,uint256,(uint8,bytes[]),uint64)": "89a570fc", + "transfer_with_fee(address,uint256,uint256,(uint8,bytes[]),uint64)": "94f69115", "xtokens()": "af3dcee8" } }, "ewasm": { "wasm": "" }, - "metadata": "{\"compiler\":{\"version\":\"0.8.6+commit.11564f7e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency_address\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"destination\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"weight\",\"type\":\"uint64\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"asset\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"destination\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"weight\",\"type\":\"uint64\"}],\"name\":\"transfer_multiasset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xtokens\",\"outputs\":[{\"internalType\":\"contract Xtokens\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"transfer(address,uint256,(uint8,bytes[]),uint64)\":{\"details\":\"The token transfer burns/transfers the corresponding amount before sending\",\"params\":{\"amount\":\"The amount of tokens we want to transfer\",\"currency_address\":\"The ERC20 address of the currency we want to transfer\",\"destination\":\"The weight we want to buy in the destination chain\"}},\"transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)\":{\"details\":\"The token transfer burns/transfers the corresponding amount before sending\",\"params\":{\"amount\":\"The amount of tokens we want to transfer\",\"asset\":\"The asset we want to transfer, defined by its multilocation. Currently only Concrete Fungible assets\",\"destination\":\"The weight we want to buy in the destination chain\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"transfer(address,uint256,(uint8,bytes[]),uint64)\":{\"notice\":\"Transfer a token through XCM based on its currencyId\"},\"transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)\":{\"notice\":\"Transfer a token through XCM based on its currencyId\"},\"xtokens()\":{\"notice\":\"The Xtokens wrapper at the known pre-compile address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"main.sol\":\"XtokensInstance\"},\"evmVersion\":\"berlin\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"main.sol\":{\"keccak256\":\"0xb8e7fb488aa69a6527955486f135d33879e46518e7e7f36f67f3cafa4bc61c51\",\"urls\":[\"bzz-raw://191614641ad2c61b758778169e15e8386261da8b1adb1e5b91f9b9ddfa62d1fe\",\"dweb:/ipfs/QmbxavtFemv9Jipqz8M8ddKDN5dsV8Pie2pnXiaw5Ewau3\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency_address\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"destination\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"weight\",\"type\":\"uint64\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"asset\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"destination\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"weight\",\"type\":\"uint64\"}],\"name\":\"transfer_multiasset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"asset\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"destination\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"weight\",\"type\":\"uint64\"}],\"name\":\"transfer_multiasset_with_fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency_address\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"parents\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"interior\",\"type\":\"bytes[]\"}],\"internalType\":\"struct Xtokens.Multilocation\",\"name\":\"destination\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"weight\",\"type\":\"uint64\"}],\"name\":\"transfer_with_fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xtokens\",\"outputs\":[{\"internalType\":\"contract Xtokens\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"transfer(address,uint256,(uint8,bytes[]),uint64)\":{\"details\":\"The token transfer burns/transfers the corresponding amount before sending\",\"params\":{\"amount\":\"The amount of tokens we want to transfer\",\"currency_address\":\"The ERC20 address of the currency we want to transfer\",\"destination\":\"The weight we want to buy in the destination chain\"}},\"transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)\":{\"details\":\"The token transfer burns/transfers the corresponding amount before sending\",\"params\":{\"amount\":\"The amount of tokens we want to transfer\",\"asset\":\"The asset we want to transfer, defined by its multilocation. Currently only Concrete Fungible assets\",\"destination\":\"The weight we want to buy in the destination chain\"}},\"transfer_multiasset_with_fee((uint8,bytes[]),uint256,uint256,(uint8,bytes[]),uint64)\":{\"details\":\"The token transfer burns/transfers the corresponding amount before sending\",\"params\":{\"amount\":\"The amount of tokens we want to transfer\",\"asset\":\"The asset we want to transfer, defined by its multilocation. Currently only Concrete Fungible assets\",\"destination\":\"The weight we want to buy in the destination chain\"}},\"transfer_with_fee(address,uint256,uint256,(uint8,bytes[]),uint64)\":{\"details\":\"The token transfer burns/transfers the corresponding amount before sending\",\"params\":{\"amount\":\"The amount of tokens we want to transfer\",\"currency_address\":\"The ERC20 address of the currency we want to transfer\",\"destination\":\"The weight we want to buy in the destination chain\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"transfer(address,uint256,(uint8,bytes[]),uint64)\":{\"notice\":\"Transfer a token through XCM based on its currencyId\"},\"transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)\":{\"notice\":\"Transfer a token through XCM based on its MultiLocation\"},\"transfer_multiasset_with_fee((uint8,bytes[]),uint256,uint256,(uint8,bytes[]),uint64)\":{\"notice\":\"Transfer a token through XCM based on its MultiLocation specifying fee\"},\"transfer_with_fee(address,uint256,uint256,(uint8,bytes[]),uint64)\":{\"notice\":\"Transfer a token through XCM based on its currencyId specifying fee\"},\"xtokens()\":{\"notice\":\"The Xtokens wrapper at the known pre-compile address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"main.sol\":\"XtokensInstance\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"main.sol\":{\"keccak256\":\"0xce0759418c443f261491c16c74db4e9aa6803ef1a89e52cc1afffe0e4825d40e\",\"urls\":[\"bzz-raw://ce2982ae624e188ba62ab687a60002327a23bc0ad593d0c0839c83c4e6092e5e\",\"dweb:/ipfs/QmTjUaBKHe7UHc3A2ku957pfwbzg9z5PA2x3J5d4udsjgC\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 45, + "astId": 76, "contract": "main.sol:XtokensInstance", "label": "xtokens", "offset": 0, "slot": "0", - "type": "t_contract(Xtokens)36" + "type": "t_contract(Xtokens)67" } ], "types": { - "t_contract(Xtokens)36": { + "t_contract(Xtokens)67": { "encoding": "inplace", "label": "contract Xtokens", "numberOfBytes": "20" @@ -14423,7 +18765,13 @@ "notice": "Transfer a token through XCM based on its currencyId" }, "transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)": { - "notice": "Transfer a token through XCM based on its currencyId" + "notice": "Transfer a token through XCM based on its MultiLocation" + }, + "transfer_multiasset_with_fee((uint8,bytes[]),uint256,uint256,(uint8,bytes[]),uint64)": { + "notice": "Transfer a token through XCM based on its MultiLocation specifying fee" + }, + "transfer_with_fee(address,uint256,uint256,(uint8,bytes[]),uint64)": { + "notice": "Transfer a token through XCM based on its currencyId specifying fee" }, "xtokens()": { "notice": "The Xtokens wrapper at the known pre-compile address." @@ -14432,5 +18780,5 @@ "version": 1 } }, - "sourceCode": "\n pragma solidity >=0.8.0;\n\n /**\n * @title Xtokens Interface\n *\n * The interface through which solidity contracts will interact with xtokens pallet\n *\n */\n interface Xtokens {\n // A multilocation is defined by its number of parents and the encoded junctions (interior)\n struct Multilocation {\n uint8 parents;\n bytes [] interior;\n }\n\n /** Transfer a token through XCM based on its currencyId\n *\n * @dev The token transfer burns/transfers the corresponding amount before sending\n * @param currency_address The ERC20 address of the currency we want to transfer\n * @param amount The amount of tokens we want to transfer\n * @param destination The Multilocation to which we want to send the tokens\n * @param destination The weight we want to buy in the destination chain\n */\n function transfer(\n address currency_address,\n uint256 amount,\n Multilocation memory destination,\n uint64 weight\n ) external;\n\n /** Transfer a token through XCM based on its currencyId\n *\n * @dev The token transfer burns/transfers the corresponding amount before sending\n * @param asset The asset we want to transfer, defined by its multilocation. \n * Currently only Concrete Fungible assets\n * @param amount The amount of tokens we want to transfer\n * @param destination The Multilocation to which we want to send the tokens\n * @param destination The weight we want to buy in the destination chain\n */\n function transfer_multiasset(\n Multilocation memory asset,\n uint256 amount,\n Multilocation memory destination, uint64 weight) external;\n }\n\n // Function selector reference\n // {\n // \"b9f813ff\": \"transfer(address,uint256,(uint8,bytes[]),uint64)\",\n // \"b38c60fa\": \"transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)\"\n //}\n\n contract XtokensInstance is Xtokens {\n\n /// The Xtokens wrapper at the known pre-compile address.\n Xtokens public xtokens = Xtokens(0x0000000000000000000000000000000000000804);\n\n function transfer(\n address currency_address,\n uint256 amount,\n Multilocation memory destination,\n uint64 weight\n ) override external {\n // We nominate our target collator with all the tokens provided\n xtokens.transfer(currency_address, amount, destination, weight);\n }\n function transfer_multiasset(\n Multilocation memory asset,\n uint256 amount,\n Multilocation memory destination,\n uint64 weight\n ) override external {\n xtokens.transfer_multiasset(asset, amount, destination, weight);\n }\n }" + "sourceCode": "\n pragma solidity >=0.8.0;\n\n /**\n * @title Xtokens Interface\n *\n * The interface through which solidity contracts will interact with xtokens pallet\n *\n */\n interface Xtokens {\n // A multilocation is defined by its number of parents and the encoded junctions (interior)\n struct Multilocation {\n uint8 parents;\n bytes [] interior;\n }\n\n /** Transfer a token through XCM based on its currencyId\n *\n * @dev The token transfer burns/transfers the corresponding amount before sending\n * @param currency_address The ERC20 address of the currency we want to transfer\n * @param amount The amount of tokens we want to transfer\n * @param destination The Multilocation to which we want to send the tokens\n * @param destination The weight we want to buy in the destination chain\n */\n function transfer(\n address currency_address,\n uint256 amount,\n Multilocation memory destination,\n uint64 weight\n ) external;\n\n /** Transfer a token through XCM based on its currencyId specifying fee\n *\n * @dev The token transfer burns/transfers the corresponding amount before sending\n * @param currency_address The ERC20 address of the currency we want to transfer\n * @param amount The amount of tokens we want to transfer\n * @param destination The Multilocation to which we want to send the tokens\n * @param destination The weight we want to buy in the destination chain\n */\n function transfer_with_fee(\n address currency_address,\n uint256 amount,\n uint256 fee,\n Multilocation memory destination,\n uint64 weight\n ) external;\n\n /** Transfer a token through XCM based on its MultiLocation\n *\n * @dev The token transfer burns/transfers the corresponding amount before sending\n * @param asset The asset we want to transfer, defined by its multilocation. \n * Currently only Concrete Fungible assets\n * @param amount The amount of tokens we want to transfer\n * @param destination The Multilocation to which we want to send the tokens\n * @param destination The weight we want to buy in the destination chain\n */\n function transfer_multiasset(\n Multilocation memory asset,\n uint256 amount,\n Multilocation memory destination, uint64 weight) external;\n \n /** Transfer a token through XCM based on its MultiLocation specifying fee\n *\n * @dev The token transfer burns/transfers the corresponding amount before sending\n * @param asset The asset we want to transfer, defined by its multilocation. \n * Currently only Concrete Fungible assets\n * @param amount The amount of tokens we want to transfer\n * @param destination The Multilocation to which we want to send the tokens\n * @param destination The weight we want to buy in the destination chain\n */\n function transfer_multiasset_with_fee(\n Multilocation memory asset,\n uint256 amount,\n uint256 fee,\n Multilocation memory destination, uint64 weight) external;\n }\n\n // Function selector reference\n // {\n // \"b9f813ff\": \"transfer(address,uint256,(uint8,bytes[]),uint64)\",\n // \"b38c60fa\": \"transfer_multiasset((uint8,bytes[]),uint256,(uint8,bytes[]),uint64)\"\n //}\n\n contract XtokensInstance is Xtokens {\n\n /// The Xtokens wrapper at the known pre-compile address.\n Xtokens public xtokens = Xtokens(0x0000000000000000000000000000000000000804);\n\n function transfer(\n address currency_address,\n uint256 amount,\n Multilocation memory destination,\n uint64 weight\n ) override external {\n // We nominate our target collator with all the tokens provided\n xtokens.transfer(currency_address, amount, destination, weight);\n }\n function transfer_with_fee(\n address currency_address,\n uint256 amount,\n uint256 fee,\n Multilocation memory destination,\n uint64 weight\n ) override external {\n // We nominate our target collator with all the tokens provided\n xtokens.transfer_with_fee(currency_address, amount, fee, destination, weight);\n }\n function transfer_multiasset(\n Multilocation memory asset,\n uint256 amount,\n Multilocation memory destination,\n uint64 weight\n ) override external {\n xtokens.transfer_multiasset(asset, amount, destination, weight);\n }\n function transfer_multiasset_with_fee(\n Multilocation memory asset,\n uint256 amount,\n uint256 fee,\n Multilocation memory destination,\n uint64 weight\n ) override external {\n xtokens.transfer_multiasset_with_fee(asset, amount, fee, destination, weight);\n }\n }" } diff --git a/tests/contracts/sources.ts b/tests/contracts/sources.ts index 18e0b952179..78b00495ffd 100644 --- a/tests/contracts/sources.ts +++ b/tests/contracts/sources.ts @@ -678,7 +678,23 @@ export const contractSources: { [key: string]: string } = { uint64 weight ) external; - /** Transfer a token through XCM based on its currencyId + /** Transfer a token through XCM based on its currencyId specifying fee + * + * @dev The token transfer burns/transfers the corresponding amount before sending + * @param currency_address The ERC20 address of the currency we want to transfer + * @param amount The amount of tokens we want to transfer + * @param destination The Multilocation to which we want to send the tokens + * @param destination The weight we want to buy in the destination chain + */ + function transfer_with_fee( + address currency_address, + uint256 amount, + uint256 fee, + Multilocation memory destination, + uint64 weight + ) external; + + /** Transfer a token through XCM based on its MultiLocation * * @dev The token transfer burns/transfers the corresponding amount before sending * @param asset The asset we want to transfer, defined by its multilocation. @@ -691,6 +707,21 @@ export const contractSources: { [key: string]: string } = { Multilocation memory asset, uint256 amount, Multilocation memory destination, uint64 weight) external; + + /** Transfer a token through XCM based on its MultiLocation specifying fee + * + * @dev The token transfer burns/transfers the corresponding amount before sending + * @param asset The asset we want to transfer, defined by its multilocation. + * Currently only Concrete Fungible assets + * @param amount The amount of tokens we want to transfer + * @param destination The Multilocation to which we want to send the tokens + * @param destination The weight we want to buy in the destination chain + */ + function transfer_multiasset_with_fee( + Multilocation memory asset, + uint256 amount, + uint256 fee, + Multilocation memory destination, uint64 weight) external; } // Function selector reference @@ -713,6 +744,16 @@ export const contractSources: { [key: string]: string } = { // We nominate our target collator with all the tokens provided xtokens.transfer(currency_address, amount, destination, weight); } + function transfer_with_fee( + address currency_address, + uint256 amount, + uint256 fee, + Multilocation memory destination, + uint64 weight + ) override external { + // We nominate our target collator with all the tokens provided + xtokens.transfer_with_fee(currency_address, amount, fee, destination, weight); + } function transfer_multiasset( Multilocation memory asset, uint256 amount, @@ -721,6 +762,15 @@ export const contractSources: { [key: string]: string } = { ) override external { xtokens.transfer_multiasset(asset, amount, destination, weight); } + function transfer_multiasset_with_fee( + Multilocation memory asset, + uint256 amount, + uint256 fee, + Multilocation memory destination, + uint64 weight + ) override external { + xtokens.transfer_multiasset_with_fee(asset, amount, fee, destination, weight); + } }`, XcmTransactorInstance: ` // SPDX-License-Identifier: GPL-3.0-only diff --git a/tests/tests/test-precompile/test-precompile-xtokens.ts b/tests/tests/test-precompile/test-precompile-xtokens.ts index 05db95ac024..31f74352762 100644 --- a/tests/tests/test-precompile/test-precompile-xtokens.ts +++ b/tests/tests/test-precompile/test-precompile-xtokens.ts @@ -50,7 +50,7 @@ describeDevMoonbeamAllEthTxTypes("Precompiles - xtokens", (context) => { // junction: AccountId32 enum (01) + the 32 byte account + Any network selector(00) [destination_enum_selector + destination_address + destination_network_id], ]; - // 100 units + // 1000 units let amountTransferred = 1000; // weight @@ -100,6 +100,87 @@ describeDevMoonbeamAllEthTxTypes("Precompiles - xtokens", (context) => { }); }); +describeDevMoonbeamAllEthTxTypes("Precompiles - xtokens", (context) => { + it("allows to issue transfer xtokens with fee", async function () { + const contractData = await getCompiled("XtokensInstance"); + const iFace = new ethers.utils.Interface(contractData.contract.abi); + const { contract, rawTx } = await createContract(context, "XtokensInstance"); + const address = contract.options.address; + await context.createBlock({ transactions: [rawTx] }); + // Junction::AccountId32 + const destination_enum_selector = "0x01"; + // [0x01; 32] + const destination_address = "0101010101010101010101010101010101010101010101010101010101010101"; + // NetworkId::Any + const destination_network_id = "00"; + + // This represents X2(Parent, AccountId32([0x01; 32])) + // We will transfer the tokens the former account in the relay chain + // However it does not really matter as we are not testing what happens + // in the relay side of things + let destination = + // Destination as multilocation + [ + // one parent + 1, + // junction: AccountId32 enum (01) + the 32 byte account + Any network selector(00) + [destination_enum_selector + destination_address + destination_network_id], + ]; + // 1000 units + let amountTransferred = 1000; + + // 100 units + let fee = 100; + + // weight + let weight = 100; + + const data = iFace.encodeFunctionData( + // action + "transfer_with_fee", + [ + // address of the multiasset, in this case our own balances + BALANCES_ADDRESS, + // amount + amountTransferred, + // fee + fee, + // Destination as multilocation + destination, + // weight + weight, + ] + ); + + const base_fee = await context.web3.eth.getGasPrice(); + + const tx = await createTransaction(context, { + from: GENESIS_ACCOUNT, + privateKey: GENESIS_ACCOUNT_PRIVATE_KEY, + value: "0x0", + gas: "0x200000", + gasPrice: base_fee, + to: ADDRESS_XTOKENS, + data, + }); + + const block = await context.createBlock({ + transactions: [tx], + }); + + const receipt = await context.web3.eth.getTransactionReceipt(block.txResults[0].result); + const fees = BigInt(receipt.gasUsed) * BigInt(base_fee); + + // our tokens + fees should have been spent + expect(BigInt(await getBalance(context, 2, GENESIS_ACCOUNT))).to.equal( + BigInt(await getBalance(context, 1, GENESIS_ACCOUNT)) - + BigInt(amountTransferred) - + BigInt(fee) - + BigInt(fees) + ); + }); +}); + describeDevMoonbeamAllEthTxTypes("Precompiles - xtokens", (context) => { it("allows to issue transfer_multiasset xtokens", async function () { const contractData = await getCompiled("XtokensInstance"); @@ -148,8 +229,8 @@ describeDevMoonbeamAllEthTxTypes("Precompiles - xtokens", (context) => { // junction: AccountId32 enum (01) + the 32 byte account + Any network selector(00) [destination_enum_selector + destination_address + destination_network_id], ]; - // 100 units - let amountTransferred = 100; + // 1000 units + let amountTransferred = 1000; // weight let weight = 100; @@ -197,3 +278,106 @@ describeDevMoonbeamAllEthTxTypes("Precompiles - xtokens", (context) => { await verifyLatestBlockFees(context, expect, BigInt(amountTransferred)); }); }); + +describeDevMoonbeamAllEthTxTypes("Precompiles - xtokens", (context) => { + it("allows to issue transfer_multiasset xtokens with fee", async function () { + const contractData = await getCompiled("XtokensInstance"); + const iFace = new ethers.utils.Interface(contractData.contract.abi); + const { contract, rawTx } = await createContract(context, "XtokensInstance"); + const address = contract.options.address; + await context.createBlock({ transactions: [rawTx] }); + // Junction::AccountId32 + const destination_enum_selector = "0x01"; + // [0x01; 32] + const destination_address = "0101010101010101010101010101010101010101010101010101010101010101"; + // NetworkId::Any + const destination_network_id = "00"; + + // Junction::Parachain(0) + const x2_parachain_asset_enum_selector = "0x00"; + const x2_parachain_id = "00000000"; + + // Junction::PalletInstance(3) + const x2_pallet_instance_enum_selector = "0x04"; + const x2_instance = "03"; + + // This represents X3(Parent, Parachain(1000), PalletInstance(3))) + + // This multilocation represents our native token + let asset = [ + // one parent + 1, + // X2(Parachain, PalletInstance) + // Parachain: Parachain selector (00) + parachain id (0) in 4 bytes (00000000) + // PalletInstance: Selector (04) + pallet instance 1 byte (03) + [ + x2_parachain_asset_enum_selector + x2_parachain_id, + x2_pallet_instance_enum_selector + x2_instance, + ], + ]; + // This represents X2(Parent, AccountId32([0x01; 32])) + // We will transfer the tokens the former account in the relay chain + // However it does not really matter as we are not testing what happens + // in the relay side of things + let destination = + // Destination as multilocation + [ + // one parent + 1, + // junction: AccountId32 enum (01) + the 32 byte account + Any network selector(00) + [destination_enum_selector + destination_address + destination_network_id], + ]; + // 1000 units + let amountTransferred = 1000; + + // 100 units + let fee = 1000; + + // weight + let weight = 100; + + // encode the input with ethers + const data = iFace.encodeFunctionData( + // action + "transfer_multiasset_with_fee", + [ + asset, + // amount + amountTransferred, + // fee + fee, + destination, + // weight + weight, + ] + ); + + const base_fee = await context.web3.eth.getGasPrice(); + + // create tx + const tx = await createTransaction(context, { + from: GENESIS_ACCOUNT, + privateKey: GENESIS_ACCOUNT_PRIVATE_KEY, + value: "0x0", + gas: "0x200000", + gasPrice: base_fee, + to: ADDRESS_XTOKENS, + data, + }); + + const block = await context.createBlock({ + transactions: [tx], + }); + + const receipt = await context.web3.eth.getTransactionReceipt(block.txResults[0].result); + const fees = BigInt(receipt.gasUsed) * BigInt(base_fee); + + // our tokens + fees should have been spent + expect(BigInt(await getBalance(context, 2, GENESIS_ACCOUNT))).to.equal( + BigInt(await getBalance(context, 1, GENESIS_ACCOUNT)) - + BigInt(amountTransferred) - + BigInt(fee) - + BigInt(fees) + ); + }); +});